无法为 Spring AMQP RabbitMQ(Spring Boot 2.0.2)配置重试

Unable to configure retry for Spring AMQP RabbitMQ (Spring Boot 2.0.2)

我正在使用 Spring Boot 2.0.2 应用程序,我想将 RabbitMq 配置为重试失败的消息 3 次,每次重试之间有一个间隔。

之前在 Spring Boot 1.5.1 我已经在 application.properties 上成功设置了它:

spring.rabbitmq.listener.retry.enabled=true
spring.rabbitmq.listener.retry.initial-interval=45000
spring.rabbitmq.listener.retry.max-attempts=3
spring.rabbitmq.listener.retry.multiplier=1.3
spring.rabbitmq.listener.retry.max-interval=80000

我试过在 Spring Boot 2.0.2 上做同样的事情,但它不起作用。我读过 these properties have changed in Spring Boot 2.0,但即使在更新属性后,它仍然不起作用:

spring.rabbitmq.listener.direct.retry.enabled=true
spring.rabbitmq.listener.direct.retry.initial-interval=45000
spring.rabbitmq.listener.direct.retry.max-attempts=3
spring.rabbitmq.listener.direct.retry.multiplier=1.3
spring.rabbitmq.listener.direct.retry.max-interval=80000

我是不是漏掉了什么?

默认容器类型是simple

除非您决定改用直接容器类型,否则请使用 spring.rabbitmq.listener.simple.retry.enabled=true

Choosing a Container

在 Spring AMQP 2.0 中添加了 DMLC;引导属性在后来的 1.5.x 版本中被弃用,切换到 ...simple... 属性以准备引导 2.0.