如何在 ActiveMQ 中使用 MaxReconnectAttemps
How to use MaxReconnectAttemps in 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);
}
}
由于您使用的是 .NET 客户端,因此您需要在故障转移传输的 URI 选项上使用前缀,因此要配置 maxReconnectAttempts,您需要像这样传递选项:
failover:(tcp://localhost:61616)?transport.maxReconnectAttempts=3
最好查看您正在使用的客户端的文档 here。
我在使用 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);
}
}
由于您使用的是 .NET 客户端,因此您需要在故障转移传输的 URI 选项上使用前缀,因此要配置 maxReconnectAttempts,您需要像这样传递选项:
failover:(tcp://localhost:61616)?transport.maxReconnectAttempts=3
最好查看您正在使用的客户端的文档 here。