2013-03-07 95 views
2

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

还建议我在远程JNDI查找。

请帮忙!

THANKS琳

回答

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

+0

我看到你的SO访问正在重新开始。稳定? – 2013-03-07 17:03:44

+0

是的,T.Rob。这是我在我的etc/hosts文件中为SO编写的一个问题。我删除了条目,我回来了。 – Shashi 2013-03-08 03:53:56

+0

感谢Shashi和T.Rob, – Chakri 2013-03-13 16:42:19