远程EJB调用:

当需要从任意的网络节点调用在其它服务器中部署的EJB时,可以按照如下方式进行设置及调用:

假设存在一个带远程接口的EJB,存在于ejb包下:
EJB类:EJBTest
远程接口:EJBTestRemote

调用EJB的客户端的写法:

 // 创建及配置远程调用的参数
 Properties props = new Properties();
 props.setProperty("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory");
 props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
 props.setProperty("java.naming.factory.state","com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
 // 远程主机名
 props.setProperty("org.omg.CORBA.ORBInitialHost", "TechCenter");
 // 远程主机的缺省端口号
 props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
 // 创建远程上下文
 InitialContext ctx = new InitialContext(props);
 // 查找EJB,其中查找的参数为远程接口类
 EJBTestRemote ejb = (EJBTestRemote) ctx.lookup("ejb.EJBTestRemote");

此时可以正常调用 ejb 的方法。