2013-03-07 91 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