如何在 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的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Spring 嵌入式 ActiveMQ 代理指定自定义 activemq.xml?
使用 KahaDB 时如何持久化 Activemq 队列/主题中的消息?
如何在 JBoss 中配置 ActiveMQ JCA 连接器以使用 XA 连接?