使用Spring Boot 2.1.6和Spring AMQP / RabbitMQ,当@RabbitListener中引发异常时,这两个application.properties都不会触发DLX / DLQ:
spring.rabbitmq.listener.direct.default-requeue-rejected=false
spring.rabbitmq.listener.default-requeue-rejected=false
而不是isDefaultRequeueRejected()始终为true。如何将其更改为false以导致正确的DLX / DLQ?
答案 0 :(得分:1)
也许你失踪了
spring.rabbitmq.listener.type=direct
?
如果缺少该结果,我会得到与您相同的结果-没有应用任何侦听器属性,包括您正在谈论的属性。
spring.rabbitmq.listener.type=direct
spring.rabbitmq.listener.direct.default-requeue-rejected=false
对我来说很好;失败的消息将被拒绝,而不会重新排队。
默认容器类型为simple
,因此您设置的direct
属性将被忽略。