我们在项目中使用rabbitmq进行消息传递 . 这主要用于审计日志记录 . 我们试图检查我们的应用程序如何响应某些故障情况 . 例如,如果RabbitMQ关闭,消费者会不断尝试与rabbitmq Build 连接并失败 . 如果rabbitmq停机,消费者有没有办法停止尝试?以类似的方式,当代理停止时,发布者如何停止尝试向队列发送消息?断路器是我们可以考虑的选择之一吗?
您可以将 RetryTemplate 添加到 RabbitTemplate bean .
RetryTemplate
RabbitTemplate
将 RecoveryCallback 实现添加到重试模板,该模板忽略(或记录)错误 .
RecoveryCallback
它将尝试连接,但不会失败 .
如果在Spring AMQP之上使用Spring Integration layer,则可以将circuit breaker request handler advice添加到出站通道适配器 .
1 回答
您可以将
RetryTemplate
添加到RabbitTemplate
bean .将
RecoveryCallback
实现添加到重试模板,该模板忽略(或记录)错误 .它将尝试连接,但不会失败 .
如果在Spring AMQP之上使用Spring Integration layer,则可以将circuit breaker request handler advice添加到出站通道适配器 .