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

Spring boot 在SpringBoot中重试与RabbitMQ和MongoDB的连接,spring-boot,spring-rabbit,spring-mongodb,spring-retry,Spring Boot,Spring Rabbit,Spring Mongodb,Spring Retry,我正在使用spring,如果失败,我想重新尝试获取与RabbitMQ和MongoDB的连接。 我知道它在sql数据库中是这样工作的: 但是,我不知道为RabbitMQ和MongoDB包装哪些类 我还尝试为RabbitMQ包装ConnectionFactory,但AbstractConnectionFactory有一些最终方法我无法重写,无法将调用传递给代理工厂。对于RabbitMQ,在使用者端,连接将根据侦听器容器配置自动恢复(默认情况下,它将每5秒尝试重新连接一次) 对于发布消息,您可以在ra

我正在使用spring,如果失败,我想重新尝试获取与RabbitMQ和MongoDB的连接。
我知道它在sql数据库中是这样工作的:

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


我还尝试为RabbitMQ包装ConnectionFactory,但AbstractConnectionFactory有一些最终方法我无法重写,无法将调用传递给代理工厂。

对于RabbitMQ,在使用者端,连接将根据侦听器容器配置自动恢复(默认情况下,它将每5秒尝试重新连接一次)

对于发布消息,您可以在
rabbitemplate
中配置适当配置的
RetryTemplate
(来自spring retry)


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

谢谢您的提示。在您的代码中,您的意思是当我使用mongorepository的方法时?是的;将调用放在
@RetryTable
方法中或在
RetryTemplate.execute(c->{…})中进行调用。