2009-09-15 22 views
2

我在我的机器和一个配置文件中有两个配置文件我部署了一个可以从另一个配置文件中的POJO查找的EJB。但是我从中查找的配置文件最终会在其自己的节点中执行查找。如果我在两台不同的机器上部署这两个应用程序,我可以执行查找。有人告诉我,在WAS中创建虚拟机名称会有所帮助,但我不知道如何使用它。可以请某人帮助我如何解决此问题?当两个WAS配置文件共享同一台机器时,JNDI查找

感谢,

Kshitij古普塔

+1

为什么这是一个社区维基?这是一个技术问题和技术答案。请解释。 – djna 2009-09-15 07:47:51

回答

4

“但轮廓从我做了查找结束了在做自己的节点进行查找。”

让我知道我理解你说的话:在个人资料中的

你的应用程序运行时,您的EJB部署在配置文件B.

内,我们有一些节点,N1,N2轮廓B, ...在执行查找时,应用程序连接到其中一个节点,比如N2,默认情况下,当在N2中查找时,我们会看到与节点N2相关联的JNDI树,该树可能不是EJB注册其名称的位置。

是你的问题吗?

如果是,那么有两种可能的方法。

  1. 导航JNDI起始细胞
  2. 使用YHE细胞/持续性分区 - 我推荐这个

选项1:整个JNDI树是可见的任何节点。请参阅信息中心的the JNDI diagram。然后,您可以通过提供此风格的路径导航图层

cells/<mycell>/nodes/<ejbNode>/... etc. 

从任何地方。

该方法的问题在于应用程序需要了解单元格的toplogy。如果节点名称(或集群名称)应该改变,查找字符串将会改变。这是一个脆弱的解决方案。选项2:相反,让EJB寄存器在JNDI树中的稳定位置。这是单元持久分区的用途。您首先修改EJB(或其DD)以指定名称为

cell/persistent/myEjb 

然后在查找中使用该字符串。

+0

非常感谢你!我正在寻找这个。这将帮助我们进行配置(因此我们不必在每个群集节点上配置设置),并且能够在比节点或群集更高的级别上查找它。 – 2010-09-24 20:17:26

+0

@dnja - 节点级别或群集级别如何?这些都是持续存在的吗?我在节点级别“thisNode/persistend/myObj”之前看到过类似这样的工作。这个节点仅仅是websphere V7吗?是否有可能由IBM预先映射的thisNode或thisCluster?只是想知道你是否遇到过这个问题。 – 2010-09-24 20:40:16

+0

@Chris就我所知,“持久”命名空间与toplogical节点/集群命名空间完全分离。我不知道其他持久空间。从概念上讲,我不知道你为什么要他们。 – djna 2010-09-27 06:18:09

0

这天我在客户机器上安装时遇到了这个问题。 我了4天挣扎为什么它不工作,我不知道你是怎么发现这个这么快速度 但解决的办法很简单:

如果你有2个是在相同的主机名的客户是正在考虑的是,服务器是相同的,所以它将避免通过CORBA查找,我们解决了将2个WAS绑定到2个不同的主机名和IP地址上的问题。这就是诀窍。

相关问题