Configuration of ECLIPSE to use JBOSS and LOMBOZ
First of all we have to set up Eclipse Integrated Development Environment (IDE) with JBOSS as our application server.
So go to this page: http://www.eclipse.org/downloads/index.php and download the binary for the Eclipse editor. You can download the appropriate binary for your platform. This tutorial was developed using Linux (Red Hat 8.0) as the operating system.
Example : eclipse-SDK-2.1-linux-gtk.zip, eclipse-SDK-2.1-win32.zip
Note : Eclipse does not include a Java runtime environment (JRE). You will need at least a 1.3 level Java runtime or Java development kit (JDK) installed on your machine in order to run Eclipse.
Now unzip this file into your home directory.
Once you have unzipped this file you will have a directory called 'eclipse' in your home directory.Go into that directory and run the script file called 'eclipse'.
- [vishal@localhost eclipse]$ unzip eclipse-SDK-2.1-linux-gtk.zip
- Archive: eclipse-SDK-2.1-linux-gtk.zip
- Archive: eclipse-SDK-2.1-linux-gtk.zip
- inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/boot.jar
- inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/splash.bmp
- inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/boot.xml
- inflating: eclipse/plugins/org.eclipse.core.boot_2.1.0/plugin.properties
- inflating: eclipse/install.ini
- inflating: eclipse/startup.jar
- inflating: eclipse/readme/readme_eclipse.html
- [vishal@localhost eclipse]$ cd eclipse
- [vishal@localhost eclipse]$ ls
- cpl-v10.html features install.ini plugins startup.jar
- eclipse icon.xpm notice.html readme workspace
- [vishal@localhost eclipse]$ ./eclipse
This will run the Eclipse IDE on your workstation. Let's get familiar with this environment.
Now Eclipse is installed and is running on your workstation, let's install JBOSS.
You can download JBOSS ready to run. Because JBOSS comes with a simple embedded Database (Hypersonic) and a web server (JBossWEB or Tomcat) you can use it out of the box without any initial configuration. Downloads can be accessed from either the JBOSS Project Page on SourceForge where you will always find up to date downloads (http://sourceforge.net/projects/jboss), or from the JBOSS Home Page where you will find useful information about JBoss, the official, free forums, project information etc., and also the download page http://www.jboss.org/downloads.jsp. For this tutorial we are using JBOSS-3.2.1 with the built-in 'Jetty' JBOSSWeb HTTP sever.
Example : jboss-3.2.1.zip (includes JBossWeb HTTP server and JSP/Servlet engine, EJB, CMP2.0, JCA, IIOP, Clustering, JTS, JMX.)
Note : JBOSS does not include a Java runtime environment (JRE).
First login as user 'root' and then unzip this file in a suitable place where you have enough space. I have unzipped it under an /opt/jboss/ directory.
It will create a directory named jboss-3.2.1 under /opt/jboss/.
Before you run JBOSS, in order to check your installation of JBOSS, make sure have you have following environment variables set.
- JBOSS_HOME: /opt/jboss/jboss-3.2.1
- JAVA_HOME: /usr/java/j2sdk1.4.1_02
- CLASSPATH: /usr/java/j2sdk1.4.1_02/lib/tools.jar
Now go into directory jboss-3.2.1 and you will have all these directories.
- [root@localhost jboss-3.2.1]# ls
- bin client docs lib server
Go into the bin directory and you will find a script named run.sh.
Run this script from the command line. Hopefully it will start, and you will see this message.
- 15:12:59,876 INFO [Server] JBoss (MX MicroKernel) [3.2.1 (build: CVSTag=JBoss_3_2_1 date=200305041533)] Started in 59s:676ms.
Note: This means that JBOSS is installed and running successfully. Now, it's time to configure it from within the eclipse IDE.
In order to test JBOSS is running correctly, go to your web browser and access this url 'http://localhost:8080/jmx-console/index.jsp'.
Note: This page is referred as the 'JMX Management Console'.
If you can access this screen from your browser, JBOSS is running successfully.
Note that on this page under the sub-heading of 'jboss' there is a link 'service=Hypersonic'. Go to that link; that will bring up an 'MBean View' page. On this page there is an MBean operation called 'startDatabaseManager'; go there and press the 'Invoke' button. This will bring up the console for the embedded Hypersonic database, from where you can access schemas and do other database management operations.
Creating the Database Schema.
As mentioned in the case study, the schema for our Store's Inventory is composed of five relations. We will load this schema in the Hypersonic embedded database.
In order to that, we will use the following script files.
a) myStoreSchema.script – to create the database schema.
b) myStoreSchema.data – to populate the tables with data.
c) myStoreSchemaDrop.script – to drop/delete all tables used in this tutorial.
First of all copy these 3 files into the $JBOSS_HOME/server/default/data/hypersonic/ directory. In this example it is /opt/jboss/jboss-3.2.1/server/default/data/hypersonic/
Now access the HSQL Database Manager using the JMX-Management Console shown above.
Note: Please drop/delete any tables already present in the database with same name beforehand, or naturally errors will be raised when you will run these scripts.
On the top level menu of HSQL Database Manager File > Open Script.. > select myStoreSchema.script.
After clicking Open > press Execute SQL Statement and the following screen will appear as shown in the figure below.
Go to View > Refresh Tree. If you can see five new tables created then your schema is ready, and it's time to populate them with data.
Go to File > Open Script.. > select myStoreSchema.data > Open.. > Execute SQL Statement.
Now your data is loaded in the database, in order to verify just execute any query and see the results of that as shown in figure below.
Make sure you 'commit' (Options->commit) to save your schema in the database.
Note : Shutdown Jboss server as we will run it later from inside eclipse.
In order to run JBOSS from within Eclipse you need a plug-in, and for this tutorial we are using Lomboz which is available from http://sourceforge.net/projects/lomboz or from http://www.objectlearn.com/index.jsp.
Note : We are using lomboz.21_02.zip for this tutorial.
Now unzip this file in a temporary directory; you will have a directory named plugins. Go to the directory plugins/com.objectlearn.jdt.j2ee/servers. This directory contains configuration files for various servers. For this tutorial we supply a configuration file for jboss3.2.1 available under downloads.
Note : If there are multiple configuration files the plugin will presently default to the first configuration file within the (eclipse/plugins/com.objectlearn.jdt.j2ee/servers/ ) directory in alphabetical order, so rename all the configuration files to a '.bak'
extension. This is just to avoid slip-ups whilst we're learning.
Now, copy the supplied jboss321all.server file into the servers directory.
- cd plugins/
- [vishal@localhost plugins]$ ls
- [vishal@localhost com.objectlearn.jdt.j2ee]$ cd servers
- [vishal@localhost servers$ ls
- jboss244.server.bak jboss303Tomcat4112.server.bak jboss300all.server.bak jboss321all.server
- tomcat403.server.bak weblogic70.server
- jboss300.server.bak tomcat410.server x.log
Here's a snippet from the file 'jboss321all.server' used for configuration. For this tutorial we will use this file, which you can download under Downloads.
You can change the various settings in this file according to your environment (e.g. the port number).
Once you have saved this file under the com.objectlearn.jdt.j2ee/servers directory, move the com.objectlearn.jdt.j2ee directory under $HOME/eclipse/plugins/ directory, where $HOME is your home directory.
- [vishal@localhost temp/plugins] mv com.objectlearn.jdt.j2ee /home/vishal/eclipse/plugins/.
Now, we will configure Lomboz using this jboss321all.server file.
Note : Now you can now delete the temporary directory.
Now run your Eclipse IDE to configure Lomboz ($HOME/eclipse/eclipse ).
Go to Window on top level menu > Open Perspective > Java as shown in fig below.
As we want to customize Java perspective for this tutorial:
Go to Window again at top level menu > Customize Perspective > Other.
Select Lomboz Actions sub node.
Click OK. Now you will have an icon under your top level menu like this.
Click on this icon will have a Lomboz J2EE View window in your workbench.
Now, Lomboz J2EE view is available.
Go to Window > Customize Perspective.
Select File > New sub node. Select all nodes starting with Lomboz.
Select Window > Show view. Select Console, Lomboz J2EE View and others as shown below in figure.
Now click ok. You will have all those options available from File > New > and Lomboz menu will appear, or by right clicking in the Package Explorer a pop up menu will appear.
Configure JBOSS to run from within Eclipse.
First of all we have to configure the Java Development settings, because Lomboz requires different directories for source and binaries.
Go to Window > Preferences > Java > New Project.
Enter src and bin for the names of these folders, which are the defaults. Please do not modify these names as they are required by some of the Lomboz tasks.
Also, make sure JRE library is set to 'JRE_LIB' variable.
Go to Window on top level menu > Preferences.
Go to the Lomboz node under the Preferences window. Make sure JDK Tools.jar is set to $JAVA_HOME/lib/tools.jar
Go to the server definitions sub node under Lomboz node. Select JBOSS 3.2.ALL under Server types and the rest of the options will be filled after loading the server configuration file which we made for this tutorial.
Now, under Server Definitions, go to 'Classpath' and make sure all the paths are correct. If there is a wrong setting for a path, it will show red crosses with jar icons in Server libraries / Client libraries sub section.
You can add or remove libraries from here. Make sure you 'Apply' the changes after altering the various options.
And now verify your 'Classpath Variables'.
Go to Window > Preferences > Java > Classpath Variables
If you get all these Classpath variables right according to your environment.
Test your configuration.
To test your configuration, create a J2EE Project as a test.
Go to File at top level menu > New > Lomboz J2EE Project.
Enter 'Test' as project name and press Next.
Check your settings here; if you have 'Test/src' on build path and 'Test/bin' under default output folders then it's ok.
Now click on Libraries tab on the Project Creation Wizard.
Because of a bug in Eclipse 2.1 this library is configured wrongly.