I have C# application using nms.activemq 1.5.0.
When my application starts it tries to connect to the broker using failover protocol (I have two brokers in master-slave configuration).
If both brokers down my application is stuck in wait because of the connection.start()
.
I tried every bit of info i found on the web - I tried every attribute of the failover protocol, also tried setting the connection timeout, tried transport.requesttimeout
.
I also tried a newer version of nms.activemq, but nothing seems to solve the issue.
Any idea on what can cause this problem or any workaround?
After mining google results fI found this thread
Tim Bish answered the developer there that in NMS there is a prefix transport.* that need to added to all transport properties.
my original uri was:
failover://(tcp://A,tcp://B)?randomize=true&startupMaxReconnectAttempts=1&timeout=2000
and now my URI is (pay attention on transport.* prefix):
failover://(tcp://A,tcp://B)?transport.randomize=true&transport.startupMaxReconnectAttempts=1&transport.timeout=2000
which is working and I handle the exception thrown and continue with my App.
Enjoy
来源:https://stackoverflow.com/questions/10880814/activemq-nms-connection-start-hangs-with-failover-protocol-when-broker-is-dow