簡體   English   中英

無法連接到Tibco JMS服務器

[英]Cannot connect to Tibco JMS server

我有一個java應用程序,它執行一些JMS發送和接收工作。 但我發現了一個有趣的問題。 例如,我為java.naming.provider.url設置了以下內容。

tcp://hostnameA.foo.bar:7222

但是我得到了如下錯誤。 僅包含主機名,而不是完全限定的域名。

javax.jms.JMSException: Failed to connect to the server at tcp://hostnameA:7222

除非我手動在hosts文件中添加hostnameA,否則它將無法連接到Tibco服務器。

我該如何解決?

提前致謝。

EMS服務器有自己的內置JNDI服務器。 連接時實際執行的操作是1)查詢EMS:JNDI服務器以獲取連接工廠定義,然后2)根據返回的工廠創建連接。 您使用的是java.naming.provider.url這一事實暗示了這一點。

更改您正在使用的連接工廠的EMS服務器上的連接工廠定義(factories.conf)。 新安裝上的默認工廠(例如QueueConnectionFactory)的默認定義是“tcp:// 7222”,服務器在檢索時將替換為“tcp:// hostname:7222”。 您可以將此定義更改為例如“tcp://hostname.myfqdn.com:7222”,事情應該有效。

您也可以通過直接創建連接來完全繞過JNDI服務器,但我不建議這樣做,因為服務器返回的連接工廠定義可能包含有關負載平衡和容錯對,SSL設置或指向完全不同的信息它還允許EMS管理員更改連接工廠的定義,而客戶端不必更改其代碼甚至其配置。

我想這與編程層無關。
您對該名稱的DNS查詢是無法解析的,這就是編輯hosts文件時它的工作原理。
檢查系統的DNS設置(或確保系統配置中的DNS服務器回復您的名稱查詢),或者使用IP地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM