JNDI 互操作性注意事项

您必须执行特殊步骤来使您的程序与非产品的 JNDI 客户机进行互操作并将 MQSeries® 中的资源绑定到名称空间。

运行在非 WebSphere Application Server 的环境中的 EJB 客户机访问运行在产品服务器上的 EJB 应用程序

当非产品的 EJB 客户机访问运行在 WebSphere® Application Server 中的企业 Bean (EJB) 应用程序时,将假设 JNDI 初始上下文工厂是非产品实现。在这种情况下,缺省初始上下文是单元根。如果使用的 JNDI 服务提供者支持 CORBA 对象 URL,那么可以使用 corbaname 格式查找 EJB home。

构造字符串型名称取决于对象是安装在单个服务器还是集群上。

单个服务器
以下是一个 URL,它的引导主机为 myHost,端口为 2809,而企业 Bean 安装在节点 node1 的服务器 server1 中,并且绑定在该服务器中的名称 myEJB 下:
initialContext.lookup(
  "corbaname:iiop:myHost:2809#cell/nodes/node1/servers/server1/myEJB");
服务器集群
以下是一个 URL,它的引导主机为 myHost,端口为 2809,而企业 Bean 安装在名为 myCluster 的服务器集群中,并且绑定在该集群中的名称 myEJB 下:
initialContext.lookup(
    "corbaname:iiop:myHost:2809#cell/clusters/myCluster/myEJB");

该查找使用同一个单元中配置的任何名称服务器引导主机和端口。

如果引导主机和端口属于集群成员本身,那么该查找也有效。要避免单点故障,可以按下面所示将每个集群成员的引导服务器主机和端口列在 URL 中:

initialContext.lookup(
    "corbaname:iiop:host1:9810,:host2:9810#cell/clusters/myCluster/myEJB");

如果引导到集群自身,那么不需要名称前缀 cell/clusters/myCluster/,但是它也有效。然而,在其他集群中查找企业 Bean 时需要前缀。在名称服务器上实现集群上下文下的名称绑定,以解析成查找期间运行的集群成员的服务器根;从而避免了单点故障。

没有 CORBA 对象 URL 支持
如果使用的 JNDI 初始上下文工厂不支持 CORBA 对象 URL,那么可以从服务器获取初始上下文,并且可以在初始上下文上执行查找,就象下面显示的那样:
Hashtable env = new Hashtable();
env.put(CONTEXT.PROVIDER_URL, "iiop://myHost:2809");
Context ic = new InitialContext(env);
Object o = ic.lookup("cell/clusters/myCluster/myEJB");

绑定 MQSeries 5.2 的资源

WebSphere Application Server V5.0 之前的发行版中,可以使用 MQSeries jmsadmin 工具来将资源绑定到名称空间。 当和 WebSphere Application Server 名称空间一起使用时,将资源绑定在名称空间的 transient 分区中,且不随服务器进程一起持续。不使用 jmsadmin 工具绑定 MQSeries 资源,而是从控制台导航树中的 Resources 下的管理控制台中绑定它们。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rnam_interoperability
文件名:rnam_interoperability.html