如何在 ActiveMQ 中使用 MaxReconnectAttemps

Posted

技术标签:

【中文标题】如何在 ActiveMQ 中使用 MaxReconnectAttemps【英文标题】:How to use MaxReconnectAttemps in ActiveMQ 【发布时间】:2017-02-08 09:15:45 【问题描述】:

我遇到了 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】:

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

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

最好查看您正在使用的客户端的文档here。

【讨论】:

非常感谢...这有效....我以为我在阅读文档时尝试了此选项...

以上是关于如何在 ActiveMQ 中使用 MaxReconnectAttemps的主要内容,如果未能解决你的问题,请参考以下文章

如何在activemq中设置队列监控

如何使用 Spring 嵌入式 ActiveMQ 代理指定自定义 activemq.xml?

使用 KahaDB 时如何持久化 Activemq 队列/主题中的消息?

如何在 JBoss 中配置 ActiveMQ JCA 连接器以使用 XA 连接?

Python。如何从队列/主题 ActiveMQ 中删除任何消息

如何设置 ActiveMQ 停止接受消息?