首页 > 解决方案 > RetryOperationsInterceptor - 在队列尾部重新排队

问题描述

我正在使用 RetryOperationsInterceptor。每次消息消费抛出异常时,消息都会放回队列中。这就是我想要的,但我希望它在队列的尾部而不是头部。有没有办法实现它?

标签: rabbitmqspring-rabbit

解决方案


您必须将其重新发布到恢复器中的队列。

RepublishMessageRecoverer在拦截器中添加一个。

https://docs.spring.io/spring-amqp/docs/current/reference/html/#async-listeners

它仍然会立即重试,因此您必须将 maxAttempts 设置为 1 并使用消息头来计算已进行了多少次传递尝试,因此您可能需要自定义恢复器。


推荐阅读