一尘不染

如何使用客户端JSP / Servlet在另一台计算机上部署会话Bean

jsp

大家好,我是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);

阅读 308

收藏
2020-06-08

共1个答案

一尘不染

  1. 使用远程接口创建“客户端jar”,并在客户端上进行部署

  2. 提供应用服务器客户端jar(在您的方案中不需要)

  3. 提供jndi.properties与以下内容(假设的GlassFish到GlassFish通信)类路径:

        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
  1. 使用批注的mappedName属性@EJB指定目标远程EJB组件的全局JNDI名称(如果jndi-namesun-ejb-jar.xml中没有设置-或根本没有sun-ejb-jar.xml-全局jndi-名称默认为完全合格的Remote 3.0 Business接口类名称):
        @EJB(mappedName="com.acme.app.StatelessRemote")
    private StatelessRemote remote;

资源资源

2020-06-08