To be written.
To be written.
See http://www.beasys.com/linux/for more information.
The EJBoss organization strives at delivering a complete J2EE compliant platform to the open source web. (From the EJBoss website).
As of the time of this writing, the most recent version is 0.95.
EJBoss can be downloaded from the Telkel website at http://www.telkel.com/ejboss.
As no implementation for JDK 1.3 is available for Linux, select ejboss095_jdk122.jar.
I suggest installing files in the /usr/local directory. After downloading, run:
mkdir /usr/local/ejboss mv ejboss* /usr/local/ejboss
Unjar the file:
jar xvf ejboss095_jdk122.jar
You should see various files and directories created under /usr/local/ejboss.
The above example shows EJBoss 0.95 for JDK 1.2.2. Substitute the file names as appropriate.
The environment variables to set up are:
The CLASSPATH environment variable references all JARs and directories that you will need to compile and run Java programs.
Include the EJBoss JAR and the beans/generated directory in your CLASSPATH.
export CLASSPATH=/usr/local/ejboss/lib/ejboss095_jdk122.jar:/usr/local/ejboss/beans/generated:$CLASSPATH
You are now ready to compile and run a simple EJB application. Create the following three source files for the server.
First, the business interface.
// EJBTest.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTest extends EJBObject { public String greet() throws RemoteException; }
Second, the home interface.
// EJBTestHome.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTestHome extends EJBHome { public EJBTest create() throws CreateException, RemoteException; }
Third, the bean implementation class.
// EJBTestBean.java import javax.ejb.*; import java.rmi.RemoteException; public interface EJBTestBean implements SessionBean { private SessionContext mContext = null; public void ejbPassivate() { System.out.println("EJBTestBean passivated."); } public void ejbActivate() { System.out.println("EJBTestBean activated."); } public void ejbCreate() { System.out.println("EJBTestBean created."); } public void ejbRemove() { System.out.println("EJBTestBean removed."); } public void setSessionContext() { System.out.println("EJBTestBean context set."); mContext = context; } public String greet() { return "Hello, I'm an EJB!"; } }
Compile the server source files with the Java compiler:
javac EJBTest*.java
If the compiler produces errors, double check the syntax and confirm your PATH and CLASSPATH.
Now that you have successfully written and compiled the server source files, you need to deploy your bean to EJBoss. Deploying a bean to EJBoss requires several steps that must be performed exactly.
First, create the file ejb-jar.xml.
<?xml version="1.0" encoding="Cp1252"?>
<ejb-jar ID="">
<description></description>
<display-name></display-name>
<small-icon></small-icon>
<large-icon></large-icon>
<ejb-client-jar></ejb-client-jar>
<enterprise-beans>
<session>
<description>Nextgen bean</description>
<ejb-name>nextgen.EJBTest</ejb-name>
<home>EJBTestHome</home>
<remote>EJBTest</remote>
<ejb-class>EJBTestBean</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Bean</transaction-type>
<env-entry>
<description></description>
<env-entry-name></env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value></env-entry-value>
</env-entry>
<resource-ref>
<description></description>
<res-ref-name></res-ref-name>
<res-type></res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
</enterprise-beans>
<assembly-descriptor />
</ejb-jar>
The above file, which must be named ejb-jar.xml identifies the interface and class names of files that you just created as well as a name for the object.
Second, relative to the directory of the three class files you just created, create a META-INF directory.
mkdir META-INF mv ejb-jar.xml META-INF
Third, package all four files into a jar.
jar cvf EJBTest.jar EJBTest*.class META-INF/ejb-jar.xml
You should see that it added the manifest as well as the three class files and the XML deployment descriptor file.
Fourth, put the JAR you just created in the EJBoss beans directory.
mv EJBTest.jar /usr/local/ejboss/beans
Fifth, move the class files you created to the EJBoss beans/generated directory.
mv EJBTest*.class /usr/local/ejboss/beans/generated
(This fifth step is redudant due to a bug in EJBoss 0.95. )
You are now ready to start the EJBoss server.
cd /usr/local/ejboss
sh server.sh
You should see the proxy files compile automatically and confirmation that your EJB is deployed.
You are now ready to write, compile and test the simple client applicaiton.
To be written.
See http://www.bullsoft.com/ejb/for more information.