2012-08-28 31 views
2

我有用于ActiveMQ的.Net客户端。 我使用Apache.NMS 1.5.1.2739和Apache.NMS.ActiveMQ 1.5.6.2746.NET中的ActiveMQ连接启动超时

我使用的后续代码连接到代理:

var connectionFactory = new ConnectionFactory("failover:tcp://127.0.0.1:61616/?transport.timeout=5000"); 
IConnection connection = connectionFactory.CreateConnection(); 
connection.Start(); 

问题是,当没有ActiveMQ代理然后可用connection.Start()永远挂起。所以transport.timeout在这里没有帮助。 我想超时Start()方法。所以在这段时间之后发生异常并且执行可能进一步进行。 如何避免这样的问题?

+0

可能重复的[ActiveMQ NMS:connection.start()挂起与故障转移协议当代理关闭](http://stackoverflow.com/questions/10880814/activemq-nms-connection-start-hangs-with-failover - 方案 - 当经纪人,是-DOW) – ecatmur

回答

4

我找到了正确的uri参数。 整个URI应该是这样的一个

故障转移:(TCP://127.0.0.1:61616 /)?transport.startupMaxReconnectAttempts = 2

但如果再发生ActiveMQ客户机的异常注意不会尝试重新连接,你需要自己做。