Восстановление соединения в RabbitMQ для кластерной среды

Я пытаюсь восстановить соединение в среде RMQ for Clustered, но, к сожалению, я не могу восстановить его в коде, и его также не перехватывает в моем исключении.

Например. Первоначально узел 1 был подключен, и наши сообщения были успешно переданы, и для проверки отработки отказа мы подняли узел 2 и остановили узел 1.. соединения теряются, что ожидается, но повторная попытка не происходит, когда узел 2 работает.

Когда я перезапускаю свой сервис, я могу получить исключение как:

"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 ответов

Другие вопросы по тегам