在SpringBoot中重试与RabbitMQ和MongoDB的连接

时间:2018-05-15 17:45:01

标签: spring-boot spring-rabbitmq spring-mongodb spring-retry

我正在使用spring,如果失败,我想重试获取与RabbitMQ和MongoDB的连接 我知道它对sql数据库有用:https://github.com/spring-projects/spring-boot/issues/4779#issuecomment-305482782

但是我不知道要为RabbitMQ和MongoDB包装哪些类。

我还试图为RabbitMQ包装ConnectionFactory,但是AbstractConnectionFactory有一些最终的方法我无法覆盖以将调用传递给委托工厂。

1 个答案:

答案 0 :(得分:2)

对于RabbitMQ,在消费者方面,连接将根据侦听器容器配置自动恢复(默认情况下,它将每5秒尝试重新连接)。

对于发布消息,您可以在RetryTemplate中配置适当配置的RabbitTemplate(来自弹簧重试)。

对于Mongo,您可以在代码中使用RetryTemplate@Retryable注释。