Повторите попытку подключения к RabbitMQ и MongoDB в SpringBoot - PullRequest
0 голосов
/ 15 мая 2018

Я использую Spring и хочу повторить попытку получения соединения с RabbitMQ и MongoDB в случае сбоя.
Я знаю, что это работает для базы данных sql: https://github.com/spring-projects/spring-boot/issues/4779#issuecomment-305482782

Однако я незнаю, какие классы обернуть для RabbitMQ и MongoDB.

Я также пытался обернуть ConnectionFactory для RabbitMQ, но у AbstractConnectionFactory есть некоторые окончательные методы, которые я не могу переопределить, чтобы передать вызов фабрике делегатов.

1 Ответ

0 голосов
/ 15 мая 2018

Для RabbitMQ, на стороне потребителя, соединение будет восстановлено автоматически на основе конфигурации контейнера слушателя (по умолчанию он будет пытаться каждые 5 секунд повторно подключаться).

Для публикации сообщений вы можете настроитьсоответствующим образом сконфигурировано RetryTemplate (из пружинного повтора) в RabbitTemplate.

Для Mongo вы можете использовать аннотацию RetryTemplate или @Retryable в своем коде.

...