Következő Előző Tartalom

7. Hogyan telepítsük az Enterprise Java Bean (EJB) támogatást

A leírás elkészítése folyamatban van.

7.1 BEA WebLogic

A leírás elkészítése folyamatban van.

További információ található a http://www.beasys.com/linux/ honlapon.

7.2 EJBoss

Háttér

Az EJBoss a JBoss-tól kapta a nevét és nagyon jól működik együtt a stabil J2EE verziókkal: http://www.jboss.org/.

Ez a rész akkor készült, amikor még csak az EJBoss 0.95-ös verziója jelent meg, ezért feltétlenül frissítsd az információkat.

Letöltés

A JBoss letölthető a JBoss weboldaláról: http://www.jboss.org/.

Telepítés

Azt javasolom, hogy telepítsd a fájlokat az /usr/local könyvtárba. A letöltés után futtasd a következő parancsokat:

mkdir /usr/local/ejboss 
mv ejboss* /usr/local/ejboss

Csomagold ki a fájlt:

jar xvf ejboss095_jdk122.jar

Mindenféle fájlt és könyvtárat kell látnod az /usr/local/ejboss könyvtárban.

A fenti példa az EJBoss 0.95-ös verziója alapján készült. Helyettesítsd a fájlneveket, ahol szükséges.

Környezeti beállítások

A következő környezeti változókat kell beállítanod:

A CLASSPATH változó mutatja meg, hogy mely JAR-okra és könyvtárakra lesz szükséged, hogy fordíts és futtass Java programokat. A CLASSPATH feltétlenül tartalmazza az EJBoss JAR-t és a /bean/generated könyvtárakat.

export CLASSPATH=/usr/local/ejboss/lib/ejboss095_jdk122.jar:/usr/local/ejboss/beans/generated:$CLASSPATH

A telepítés ellenőrzése

Most már fordíthatsz és futtathatsz egy egyszerű EJB alkalmazást. Készítsd el a következő három forrásfájlt a szerver számára.

Először a business interfészt.

// EJBTest.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTest extends EJBObject { 
  public String greet() throws
 RemoteException;

}

Másodszor, a home interfészt.

// EJBTestHome.java

import javax.ejb.*;
import java.rmi.RemoteException;

public
 interface EJBTestHome extends EJBHome {

  public EJBTest create() throws
 
   CreateException, RemoteException;
}

Harmadszor, a bean implementációs osztályt.

// 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!";
}

}

Fordítsd le a szerver forrásfájljait a Java fordítóval:

javac EJBTest*.java

Ha a fordító hibát produkál, akkor nézd meg kétszer is a szintaxist és ellenőrizd a PATH és a CLASSPATH változók beállításait.

Most, hogy megírtad és lefordítottad a szerver forrásfájljait, töltsd fel a beaneket az EJBoss-ba. Ez néhány nagyon fontos lépésből áll, amelyekre figyelni kell.

Először készítsd el az ejb-jar.xml fájlt.

<?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>

A fenti ejb-jar.xml fájl azonosítja az interfészt és az osztályneveket, amelyeket készítettél. Másodszor, a három "class" fájl könyvtárában készíts egy META-INF könyvtárat.

mkdir META-INF
mv ejb-jar.xml META-INF

Harmadszor, csomagold a fájlokat egy jar-ba.

jar cvf EJBTest.jar EJBTest*.class META-INF/ejb-jar.xml

Látnod kellene, hogy hozzáadódott a listához, csakúgy mint a három "class" fájl és az XML betöltést leíró fájlt.

Negyedszer, tedd a most készült Jar-t az EJBoss bean könyvtárába.

mv EJBTest.jar /usr/local/ejboss/beans

Ötödször, másold az osztályfájlokat, amiket készítettél, az EJBoss beans/generated könyvtárba.

mv EJBTest*.class /usr/local/ejboss/beans/generated

(Az ötödik lépés felesleges egy hiba miatt, ami az EJBoss 0.95-ben van.)

Most már elindíthatod az EJBoss kiszolgálót.

cd /usr/local/ejboss
sh server.sh

Azt kell látnod, hogy a proxy fájlok automatikusan lefordítódnak és megerősítik, hogy az EJB-d betöltődött.

Most már írhatsz, fordíthatsz és tesztelhetsz egy egyszerű kliens alkalmazást.

7.3 Bullsoft JOnAS EJB

A leírás elkészítése folyamatban van.

További információ található a http://www.bullsoft.com/ejb/ oldalon.


Következő Előző Tartalom