我有使用 nms.activemq 1.5.0 的 C# 应用程序。
当我的应用程序启动时,它会尝试使用故障转移协议(protocol)连接到代理(我在主从配置中有两个代理)。
如果两个代理都因为 connection.start()
而停止我的应用程序而处于等待状态.
我尝试了我在网上找到的所有信息 - 我尝试了故障转移协议(protocol)的每个属性,还尝试了设置连接超时,尝试了 transport.requesttimeout
.
我还尝试了更新版本的 nms.activemq,但似乎没有解决问题。
关于什么可能导致此问题或任何解决方法的任何想法?
最佳答案
挖掘谷歌结果后我发现this thread
Tim Bish 在那里回答开发人员说,在 NMS 中有一个前缀 。运输。* 需要添加到所有传输属性中。
我原来的uri是:
failover://(tcp://A,tcp://B)?randomize=true&startupMaxReconnectAttempts=1&timeout=2000
现在我的 URI 是(注意 传输。* 前缀):
failover://(tcp://A,tcp://B)?transport.randomize=true&transport.startupMaxReconnectAttempts=1&transport.timeout=2000
这是有效的,我处理抛出的异常并继续我的应用程序。
享受
关于当代理关闭时,ActiveMQ NMS : connection. start() 使用故障转移协议(protocol)挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10880814/