科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何调用部署在其他服务器上的EJB?

如何调用部署在其他服务器上的EJB?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

假设我们写了一个Session Bean,实现了一些业务方法,部署到了A服务器的sunone application server上,然后我们又写了一个JSP,并将其部署到了B服务器上的sunone application server

作者:中国IT实验室 来源:中国IT实验室 2007年9月7日

关键字: EJB

  • 评论
  • 分享微博
  • 分享邮件
  前段日子有网友问如何调用不在一个应用服务器上的EJB的问题,自己试验了一下,下面举个例子把这个问题说清楚:
  
  假设我们写了一个Session Bean,实现了一些业务方法,部署到了A服务器的sunone application server上,然后我们又写了一个JSP,并将其部署到了B服务器上的sunone application server中,该JSP将调用A服务器上那个session bean的一些业务方法,这其中需要注意两点:
  
  1、在使用JNDI lookup A服务器上的那个session bean的时候,需要如下配置环境变量:
  Properties env = new Properties();
  env.put("java.naming.factory.initial",
  "com.sun.jndi.cosnaming.CNCtxFactory");
  env.put("java.naming.provider.url", "iiop://192.168.0.2:3700");
  其中192.168.0.2就是A服务器的IP地址,当然也可以写A服务器的主机名
  当然,有些文章或书上可能是这种写法,也是可以的:
  Hashtable env = new Hashtable();
  env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
  env.put(Context.PROVIDER_URL, "iiop://192.168.0.2:3700");
  
  2、众所周知,远程调用需要在调用端有被调用类的stub类,对应到J2EE应用中,也就是ejb的client类,一般来说,这个类都是在部署我们的J2EE应用时自动生成的,所以需要将包含这个类的jar包放到WEB-INF/lib目录下(如果是使用一个web app来作为客户端调用EJB)以便应用服务器能找到这些stub类并正确还原出调用对象来
  
  明确了以上两点后,基本上就没有问题了,有兴趣的朋友可以自己试验一下

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章