Spring boot 在SpringBoot中重试与RabbitMQ和MongoDB的连接
我正在使用spring,如果失败,我想重新尝试获取与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
我知道它在sql数据库中是这样工作的: 但是,我不知道为RabbitMQ和MongoDB包装哪些类
我还尝试为RabbitMQ包装ConnectionFactory,但AbstractConnectionFactory有一些最终方法我无法重写,无法将调用传递给代理工厂。对于RabbitMQ,在使用者端,连接将根据侦听器容器配置自动恢复(默认情况下,它将每5秒尝试重新连接一次) 对于发布消息,您可以在
rabbitemplate
中配置适当配置的RetryTemplate
(来自spring retry)
对于Mongo,您可以在代码中使用
RetryTemplate
或@RetryTable
注释。谢谢您的提示。在您的代码中,您的意思是当我使用mongorepository的方法时?是的;将调用放在@RetryTable
方法中或在RetryTemplate.execute(c->{…})中进行调用。
。