ActiveMQ NMS:connection.start()在代理关闭时使用故障转移协议挂起

ActiveMQ NMS:connection.start()在代理关闭时使用故障转移协议挂起,activemq,nms,apache-nms,Activemq,Nms,Apache Nms,我有一个使用nms.activemq 1.5.0的C#应用程序 当我的应用程序启动时,它会尝试使用故障转移协议连接到代理(我有两个主-从配置的代理)。 如果两个代理都停止运行,则我的应用程序由于连接.start()而陷入等待状态 我尝试了在web上找到的所有信息—我尝试了故障切换协议的每个属性,还尝试了设置连接超时,尝试了transport.requesttimeout 我还尝试了一个更新版本的nms.activemq,但似乎没有解决这个问题 你知道是什么导致了这个问题,或者有什么解决办法吗?在

我有一个使用nms.activemq 1.5.0的C#应用程序

当我的应用程序启动时,它会尝试使用故障转移协议连接到代理(我有两个主-从配置的代理)。
如果两个代理都停止运行,则我的应用程序由于
连接.start()
而陷入等待状态
我尝试了在web上找到的所有信息—我尝试了故障切换协议的每个属性,还尝试了设置连接超时,尝试了
transport.requesttimeout

我还尝试了一个更新版本的nms.activemq,但似乎没有解决这个问题


你知道是什么导致了这个问题,或者有什么解决办法吗?

在挖掘了谷歌搜索结果后,我找到了

Tim Bish回答那里的开发者说,在NMS中有一个前缀传输。*,需要添加到所有传输属性中

我最初的uri是:

failover://(tcp://A,tcp://B)?randomize=true&startupMaxReconnectAttempts=1&timeout=2000
现在我的URI是(注意传输。*前缀):

它正在工作,我处理抛出的异常并继续我的应用程序


享受

这很奇怪,但在版本1.5.5中,即使在connection.ClientId属性分配(在.NET中被视为反模式)上,它也会挂起(使用故障切换模式),因为属性应该表示简单、快速、无阻塞的操作。
failover://(tcp://A,tcp://B)?transport.randomize=true&transport.startupMaxReconnectAttempts=1&transport.timeout=2000