我有两个单独安装的WebSphere。 (实际上一个是带有EJB 3.0和Web服务功能包的WebSphere Application Server V6.1,另一个服务器是WebSphere ESB Server V6.2)。但是,我知道ESB实际上是建立在WAS之上的,所以它具有regualr WAS服务器所具有的所有配置设置。在不同的WebSphere服务器上进行EJB JNDI查找
在我的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的位置被抽象到容器级别,并且你不必拖拽IP地址和端口的属性文件,以便在它改变服务器时访问该bean。 。您只需对远程EJB进行标准的JNDI查找,即可获得它。
听起来像是可以做到的。 (请参阅以下链接: 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中设置这样做?任何帮助表示赞赏
IBM JDK现在很难从我看到的东西中获得。从他们的网站可用的过时。并且可以得到的更新版本与其他产品(如WebSphere Application Server)一起打包,这引发了一个问题......如果您使用的是Tomcat,为什么要购买那些产品以获得IBM JDK?那么为什么不使用WAS呢? – 2010-06-09 14:10:33