Salut
voici mon interface distant
package sb;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface HelloWorld extends EJBObject {
public String sayHelloWorld() throws RemoteException;
}
voici mon interface locale
package sb;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface HelloWorldHome extends EJBHome {
HelloWorld create() throws RemoteException, CreateException;
}
voici mon bean
package sb;
import java.rmi.RemoteException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class HelloWorldBean implements SessionBean {
public String sayHello() {
return "Bonjour monde";
}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}
}
voici mon client
package sb;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.transaction.UserTransaction;
import javax.rmi.PortableRemoteObject;
public class HelloWorldClient {
public static void main(String args[]) {
// Récupération du contexte initial
Context initialContext = null;
try {
initialContext = new InitialContext();
} catch (Exception e) {
System.err.println("Impossible d'accéder au contexte JNDI : " + e);
System.exit(2);
}
// Récupération d'une référence à l'interface locale
HelloWorldHome home = null;
try {
home = (HelloWorldHome)PortableRemoteObject.narrow(initialContext.lookup("MyHelloWorld"), HelloWorldHome.class);
} catch (Exception e) {
System.err.println( "Impossible de trouver HelloWorldHome : " + e);
System.exit(2);
}
// Création d'un objet de même type que l'interafce distante
// et appel de la fonction sayHello()
HelloWorld myHelloWorld = null;
try {
myHelloWorld = home.create();
System.out.println(myHelloWorld.sayHello());
} catch (Exception e) {
System.err.println("Impossible de créer le bean : " + e);
System.exit(2);
}
}
}