是否可以在IBM MQ中查找远程JNDI。我的方案是我在机器A上安装了MQ,使用JNDI资源(MQ Explorer中的JMS管理对象)。现在,如果我想从独立的JAVA类通过JMS连接到MQ,我可以从“file:// JNDI_FACTORY”查找。所有例子都只提到这个。但是,如果我想在机器B上使用独立的JAVA类,那么它是否可能。即机器B具有JAVA类,它必须连接到远程JNDI(在机器A上)并查找连接工厂。我可以在机器B的java类中使用“A:host的主机名”这样的东西来访问机器A中的远程对象吗?
还建议我进行远程JNDI查找。
请帮忙!
感谢CHAKRI
答案 0 :(得分:4)
为简单起见,所有MQ JMS示例都使用File 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);
有关详细信息和其他代码示例,请参阅信息中心主题Using JNDI to retrieve administered objects in a JMS application。