在RabbitMQ中恢复群集环境中的连接

时间:2016-04-20 13:25:20

标签: java rabbitmq cluster-computing webmethods rabbitmq-exchange

我正在尝试恢复RMQ for Clustered环境中的连接,但遗憾的是我无法在代码中恢复它并且它也没有在我的异常中捕获。

例如。最初节点1已连接且我们的消息已成功流动并测试故障转移,我们启动节点2并停止节点1 ..连接正在丢失,这是预期的,但是当节点2启动时不会重试。 / p>

当我重新开始服务时,我可以获得例外:

"Rabbit MQ Message Exception : Error = 'connection is already closed due to
 connection error; cause: java.net.SocketException: Connection reset'"

有人可以建议如何在这种情况下恢复吗?

在我的代码中使用了以下配置。 (AMQP客户):

 factory.setAutomaticRecoveryEnabled(true);
 factory.setNetworkRecoveryInterval(5000);
 factory.setTopologyRecoveryEnabled(true);
 factory.setRequestedHeartbeat(60);  

通过使用Lyra连接恢复将发生以下配置:

 .withRetryPolicy(new RetryPolicy()
    .withMaxAttempts(30)
    .withInterval(Duration.seconds(1))
    .withMaxDuration(Duration.minutes(5))); 

0 个答案:

没有答案