我的机器中有两个配置文件,在一个配置文件中我部署了一个EJB,可以从另一个配置文件中的POJO中查找。但是,我正在进行查找的配置文件最终会在自己的节点中进行查找。如果我在两台不同的机器中部署这两个应用程序,我可以执行查找。有人告诉我在WAS中创建虚拟机名称会有所帮助,但我不知道如何使用它。有人可以帮助我如何解决这个问题?
谢谢,
Kshitij Gupta
答案 0 :(得分:4)
“但我正在进行查找的配置文件最终会在自己的节点中进行查找。”
让我确定我明白你在说什么:
您的应用程序在配置文件A中运行,您的EJB部署在配置文件B中。
在配置文件B中,我们有一些节点,N1,N2,...在执行查找时,应用程序连接到其中一个节点,比如N2,默认情况下,在N2中进行查找时,我们会看到与之关联的JNDI树节点N2,可能不是EJB注册其名称的位置。
这是你的问题吗?
如果是,那么有两种可能的方法。
选项1:从任何节点都可以看到整个JNDI树。请参阅信息中心中的the JNDI diagram。然后,您可以通过在此样式中指定路径来导航层次结构
cells/<mycell>/nodes/<ejbNode>/... etc.
来自任何地方。
该方法的问题在于应用程序需要了解单元格的toplogy。如果节点名称(或群集名称)应更改,则查找字符串将更改。这是一个脆弱的解决方案。
选项2:相反,让EJB注册在JNDI树中的稳定位置。这是单元持久分区的用途。首先修改EJB(或其DD)以将名称指定为
cell/persistent/myEjb
然后在查找中使用该字符串。
答案 1 :(得分:0)
我今天在客户机器上安装时遇到了这个问题。 我花了4天时间为什么不工作而苦苦挣扎我不知道你是怎么这么快发现的 但解决方案很简单:
如果您在同一主机名上有2个WAS,则客户端WAS认为服务器是相同的,因此它将避免通过CORBA查找,我们解决了在2个不同的主机名和IP地址上绑定2个WAS。这就行了。