要尝试减轻应用程序中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