大家好,我是EJB3的新手,我知道如何在一台计算机上的Glassfish服务器上部署Session Bean(无状态或有状态)。我的问题是:如何在计算机A上部署会话bean,在计算机B上部署Servlet或JSP?这意味着计算机A具有会话Bean源,计算机B具有Servlet或JSP源。如果使用1台计算机,我可以使用@EJB依赖项注入查找会话Bean,但是在另一台计算机上,我该如何为客户端代码进行此操作?1台计算机的示例
@EJB private StatelessRemote remote ; double Dosomething= remote.Dosomething(); out.println(Dosomething);
使用远程接口创建“客户端jar”,并在客户端上进行部署
提供应用服务器客户端jar(在您的方案中不需要)
提供jndi.properties与以下内容(假设的GlassFish到GlassFish通信)类路径:
jndi.properties
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory java.naming.factory.url.pkgs=com.sun.enterprise.naming java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl org.omg.CORBA.ORBInitialHost=<hostname> org.omg.CORBA.ORBInitialPort=3700
mappedName
@EJB
jndi-name
@EJB(mappedName="com.acme.app.StatelessRemote") private StatelessRemote remote;