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