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
|