gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:52:48 25 4
gpt4 key购买 nike

大家好,我是 EJB3 的新手,我知道如何在一台计算机上的 Glassfish 服务器上部署 session Bean(无状态或有状态)。我的问题是:如何在计算机 A 上部署 session bean 并在计算机 B 上部署 Servlet 或 JSP?
它的意思是
计算机 A 有 session Bean 源
和计算机 B 有 Servlet 或 JSP 源。
如果使用 1 台计算机,我可以使用 @EJB 依赖注入(inject)查找 session Bean
但是在另一台计算机上,我该如何为客户端代码执行此操作?
1 台计算机的示例

@EJB
private StatelessRemote remote ;

double Dosomething= remote.Dosomething();

out.println(Dosomething);

最佳答案

  • 使用远程接口(interface)创建一个“客户端 jar”,部署在客户端
  • 提供应用服务器客户端 jar(在您的方案中不是必需的)
  • 提供 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
  • 使用 mappedName @EJB 的属性用于指定目标远程 EJB 组件的全局 JNDI 名称的注释(如果在 sun-ejb-jar.xml 中没有设置 jndi-name - 或根本没有 sun-ejb-jar.xml - 全局 jndi-name 默认为完全限定的 Remote 3.0 业务接口(interface)类名):
    @EJB(mappedName="com.acme.app.StatelessRemote")
    private StatelessRemote remote;

  • 资源
  • GlassFish EJB FAQ
  • http://courses.coreservlets.com/Course-Materials/pdf/ejb3/EJB3-2-Session-Beans.pdf
  • 关于jsp - 如何使用客户端 JSP/Servlet 在另一台计算机上部署 session Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3614802/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com