我正在尝试恢复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)));