Spring AMQP DirectContainer 不断重新排队出错

Spring AMQP DirectContainer keeps requeuing on errors

使用 Spring Boot 2.1.6 和 Spring AMQP/RabbitMQ 当在 @ 中抛出异常时,这些 application.properties 都不会触发 DLX/DLQ兔子监听器:

spring.rabbitmq.listener.direct.default-requeue-rejected=false
spring.rabbitmq.listener.default-requeue-rejected=false

isDefaultRequeueRejected() 总是计算为真。我如何将其更改为 false 以导致正确的 DLX/DLQ?

也许你错过了

spring.rabbitmq.listener.type=direct

?

当缺少它时,我得到的结果与您相同 - none 的侦听器属性已应用,包括您正在谈论的那个。

spring.rabbitmq.listener.type=direct
spring.rabbitmq.listener.direct.default-requeue-rejected=false

对我来说很好用;失败的消息被拒绝而不重新排队。

默认的容器类型是 simple 所以你设置的 direct 属性 会被忽略。