我有两个单独的 WebSphere 安装。(实际上一个是带有 EJB 3.0 和 Web 服务功能包的 WebSphere Application Server V6.1,另一个服务器是 WebSphere ESB Server V6.2)。但是,我知道 ESB 确实建立在 WAS 之上,因此它具有常规 WAS 服务器所具有的所有配置设置。
在我的 ESB 服务器中,我试图公开一个编写为 EJB 3.0 的服务,该服务将部署到 WAS 6.1 服务器。我的问题不是如何让 EJB 2.1 调用来调用 EJB 3.0。我们已经这样做了。我的问题是如何跨物理虚拟机调用。WebSphere Application Server 从 ESB 服务器运行在它自己的单元/节点/服务器中。根据我在 IBM 文档中阅读的内容,可以在 WAS 上设置名称空间绑定以指向另一个 WAS 实例上的远程 EJB。因此,您可以使用 JNDI 在一个 WAS 实例上查找一个真正驻留在另一个 WAS 实例中的 bean。这种方法的美妙之处在于你想要的 EJB 的位置被抽象到容器级别,而你不需要
听起来是可以做到的。(请参阅以下链接: http: //publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp ?topic=/com.ibm.websphere.express.doc/info/exp/ae/tnam_view_bindings.html ) 特别是遵循 EJB 和间接命名空间绑定的链接。
但我已经有一段时间反对这个了。这说得通。看起来可以做到。间接命名空间绑定看起来最有前途。但我无法让它正常工作。我的 ESB 服务器一直抱怨在我要求它的上下文中找不到 comp/env/ejb。对此非常不解。
只是想知道是否有人以前做过这种事情。你能给我一个具体的例子,说明你是如何在 WAS 中设置的吗?任何帮助表示赞赏