.NET中的ActiveMQ连接启动超时

时间:2012-08-28 08:17:02

标签: .net activemq nms apache-nms

我有ActiveMQ的.Net客户端。 我正在使用Apache.NMS 1.5.1.2739和Apache.NMS.ActiveMQ 1.5.6.2746

我使用以下代码连接到代理:

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()方法超时。因此,在这段时间之后发生异常并且可以继续执行。 如何避免这样的问题?

1 个答案:

答案 0 :(得分:5)

我找到了正确的uri参数。 整个uri应该看起来像这个

  

故障切换:(TCP://127.0.0.1:61616 /)?transport.startupMaxReconnectAttempts = 2

但请注意,如果发生异常,则ActiveMQ客户端将不再尝试重新连接,您需要自己完成。