如何在ActiveMQ中使用MaxReconnectAttemps

时间:2016-09-29 21:49:36

标签: c# activemq

我遇到ActiveMQ问题,我尝试使用MaxReconnectAttemps进行连接,但似乎忽略了该属性。我放置了一个无效的目的地,所以它试图连接两次,但它似乎试图无限连接。

有关设置的任何想法吗?

谢谢,

IConnectionFactory factory = new ConnectionFactory(("failover://(tcp://localhost:61616)?initialReconnectDelay=2000&maxReconnectAttempts=2"));
    using (Connection connection = factory.CreateConnection(username,password) as Connection)
    {
        connection.ClientId = "ClientId"; 
        using (ISession session = connection.CreateSession())
        {
            IQueue queue = session.GetQueue(queueName);
            var producer = session.CreateProducer(queue);
            producer.DeliveryMode = MsgDeliveryMode.Persistent;
            ITextMessage request = session.CreateTextMessage("Hello World!");
            producer.Send(request);
        }
    } 

1 个答案:

答案 0 :(得分:2)

由于您使用的是.NET客户端,因此需要在URI选项上使用前缀来进行故障转移传输,因此要配置maxReconnectAttempts,您需要传递如下选项:

failover:(tcp://localhost:61616)?transport.maxReconnectAttempts=3

查看您正在使用的here客户端的文档是个好主意。