2

是否可以在 IBM MQ 中查找远程 JNDI。我的场景是我在机器 A 上安装了 MQ,带有 JNDI 资源(MQ Explorer 中的 JMS 管理对象)。现在,如果我想从独立的 JAVA 类通过 JMS 连接到 MQ,我可以从“file://JNDI_FACTORY”中查找. 所有的例子都只提到了这一点。但是,如果我想要机器 B 上的独立 JAVA 类,是否有可能?即机器 B 有 JAVA 类,它必须连接到远程 JNDI(在机器 A 上)并查找连接工厂。我可以在机器 B 的 java 类中对属性 ContextProviderUrl 使用“A:port 的主机名”之类的东西来从机器 A 访问远程对象吗?

还建议我进行远程 JNDI 查找。

请帮忙!

谢谢查克里

4

1 回答 1

4

为简单起见,所有 MQ JMS 示例都使用文件 JNDI 来演示初始上下文的使用。您可以修改示例以查找 LDAP 服务器以获取连接工厂和目标信息。

首先在 MQExplorer 中,您需要选择LDAP Server将连接工厂和目标信息保存到 LDAP 服务器的选项。然后在您的应用程序中,您需要有如下所示的代码:

  String initialContextUrl = "ldap://myhost:991/c=uk,o=ACME"
  String contextFactory = "com.sun.jndi.ldap.LdapCtxFactory";
  Hashtable environment = new Hashtable();
  environment.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
  environment.put(Context.PROVIDER_URL, initialContextUrl);
  Context context = new InitialDirContext(environment);

请参阅信息中心主题使用 JNDI 检索 JMS 应用程序中的受管对象以获取详细信息和其他代码示例。

于 2013-03-07T14:47:07.220 回答