要嘗試減輕應用程序中ActiveMQ連接問題期間可能出現的任何掛起問題,我正在尋找將以下參數添加到我的應用程序中的代理連接字符串中的操作:ActiveMQ NMS:在故障轉移傳輸中使用transport.requesttimeout
?transport.requesttimeout=10000
根據this resource,這看起來好像有助於處理這些事件。
不過,我似乎無法得到這個我目前的故障切換連接字符串,它看起來像這樣的工作:
failover:(tcp://masterbroker:61616,tcp://slavebroker:61616)?keepAlive=true
中添加它正是如此:
failover:(tcp://masterbroker:61616,tcp://slavebroker:61616)?keepAlive=true&transport.requesttimeout=10000
,或者類似這樣的:
failover:(tcp://masterbroker:61616?transport.requesttimeout=10000,tcp://slavebroker:61616?transport.requesttimeout=10000)?keepAlive=true
......兩者似乎都會導致NMS異常或連接失敗。
這似乎是一個相對平凡的問題,但我怎樣才能在這種類型的連接字符串中指定傳輸特定的指令?
請看http://stackoverflow.com/a/10893701/823040。對於故障轉移模式,您需要** transport.startupMaxReconnectAttempts **,** transport.timeout **或相關選項。完整的選項列表:http://activemq.apache.org/nms/activemq-uri-configuration.html。 Transport.requesttimeout不是故障轉移協議的有效指令。 – sgnsajgon 2014-08-21 20:41:33