2013-02-06 33 views
1

我在Java中使用ActiveMQ和JMS。尋址未知服務器時出現連接停頓ActiveMQ

當我將使用這個網址的信息:只要

"failover:(tcp://host:61616)?connection.sendTimeout=1000&startupMaxReconnectAttempts=1" 

一切正常的「主機」是一個已知的服務器,我有連接,當然還有具有ActiveMQ的。

問題是,當我嘗試發送消息到一個未知的服務器,我沒有關係 - 沒有連接,發送停頓相當長的時間。

我想配置網址,這樣的攤位將不會發生。我試了示例中顯示的超時,但它不工作。我也嘗試了不工作的soConnectionTimeout。

這個檔位導致產品失速,這是個大問題。

我該如何解決?

+0

出於好奇,你是否遇到過主機是FQDN或IP的情況;即它可能是DNS超時? –

+0

@Anders R. Bystrup我正在發送主機IP。沒有嘗試發送DNS –

回答

1

您是否嘗試在URI的'connectionTimeout'選項上添加文檔here?超時值控制連接呼叫失敗之前的時間。

+0

我正在使用故障轉移協議,並嘗試了超時選項,這在該scnario中沒有幫助 –

+0

錯誤的選項,您需要設置TCP級別傳輸選項來控制套接字等待的時間。這是一個TCP傳輸選項,閱讀我的答案中鏈接的頁面。 –

相關問題