La structure d'annuaire
|
Cr�er la structure suivante d'annuaire sous un certain annuaire logique de parent, tel que le _example de c:\ejb. Cette structure d'annuaire est pour le d�veloppement seulement ; les dossiers de d�ploiement seront ferm�s la fermeture �clair dans un dossier de fiole dans un moment et d�ploy�s aux jboss.
src/ |__client/ | |___com/ | |___examples/ | dossiers |___client de Java |__server/ | |__com/ | |___examples/ | le |___server (haricot) Java classe |__shared | |__com/ | |___examples/ | |___remote et dossiers � la maison de Java
| assembler fioles |___client et de serveur
| cible |___client/ | |___com/ | | |___examples/ | | |___client, ext�rieur et classes � la maison de Java | |___jndi.properties |___server/ |__com/ | |___examples/ | |___server (haricot), ext�rieur et classes � la maison de Java |___META-INF/ |___ejb-jar.xml
|
La classe d'haricot
|
cr�er la classe d'haricot comme src \ serveur \ COM \ exemples \ HelloBean.java. Cette classe est un haricot apatride de session et contient notre logique d'affaires. Dans ce cas-ci elle imprime exciter et toujours utile � bonjour ! Monde �.
|
package com.examples;
import javax.ejb.*;
public class HelloBean implements SessionBean
{
public void ejbCreate() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void setSessionContext(SessionContext sc){}
public String sayHello ()
{
System.out.println ("Someone called sayHello()");
return �Hello! World�;
}
}
|
L'interface � distance |
Cr�er l'interface � distance comme src \ a partag� \ COM \ exemples \ Hello.java. C'est l'interface que les clients � distance parlent � au lieu de parler directement � la classe d'haricot, HelloBean. Noter que sa seulement m�thode est le sayHello (), qui est la m�thode des affaires dans HelloBean.
|
package com.examples;
import javax.ejb.*;
import java.rmi.*;
public interface Hello extends EJBObject
{
public String sayHello() throws RemoteException;
}
|
L'interface � la maison
|
Cr�er l'interface � la maison comme src \ a partag� \ COM \ exemples \ HelloHome.java. Cette interface sera employ�e pour cr�er un exemple bonjour de l'interface quand nous voulons ex�cuter la logique d'affaires de sayHello ().
|
package com.examples;
import javax.ejb.*;
import java.rmi.*;
public interface Hello extends EJBObject
{
public String sayHello() throws RemoteException;
}
|
Le client
|
cr�er le client comme src \ client \ COM \ exemples \ HelloClient.java. C'est le client � � distance � qui emploiera notre haricot de session. D'abord, il emploie l'InitialContext pour obtenir une poign�e � HelloHome. Il emploie alors l'interface de HelloHome pour cr�er bonjour. bonjour est une interface � distance repr�sentant notre classe d'haricot. Apr�s que bonjour soit employ� pour ex�cuter la logique d'affaires (sayHello), l'haricot est lib�r� par l'interm�diaire de la m�thode d'enl�vement.
|
package com.examples;
import javax.ejb.*;
import java.rmi.*;
import javax.rmi.*;
import javax.naming.*;
public class HelloClient
{
public static void main (String[] args) throws Exception
{
Context c = new InitialContext();
Object o = c.lookup ("Hello");
HelloHome home =
(HelloHome)PortableRemoteObject.narrow (o,HelloHome.class);
Hello hello = home.create();
System.out.println (hello.sayHello());
hello.remove();
}
}
|
ejb-jar.xml
|
Cr�er le dossier d'ejb-jar.xml dans la cible \ serveur \ META-INF. Ce descripteur de d�ploiement contient l'information dont le r�cipient des jboss EJB a besoin afin de d�ployer et courir notre EJB.
|
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>Hello</ejb-name>
<home>com.examples.HelloHome</home>
<remote>com.examples.Hello</remote>
<ejb-class>com.examples.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
|
jndi.properties
|
Cr�er le dossier de jndi.properties dans la cible \ client. Ce dossier d�finit les propri�t�s qui sont exig�es afin d'employer JNDI pour trouver EJBs sur le r�seau.
|
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
|
Keywords:
EJB Example,jboss ejb example,ejb client example,jboss example,ejb sample,j2ee example,xdoclet example,weblogic example,cmp example,jboss examples,ejb sample code,ejb examples,jboss sample,j2ee sample,sample j2ee application,j2ee examples,web services example,ejb jar xml example,ejb web services,sample weblogic xml,sample ejb jar xml
|