【发布时间】:2019-08-14 03:06:36
【问题描述】:
我正在尝试在 Spring Cloud Stream 中实现延迟消息(不使用 rabbitmq 插件),但它不起作用
我使用 spring-boot 实现了它,它运行良好。下面是我在 spring-boot 中做的示例代码。
我正在尝试在 spring-cloud-stream 中做同样的事情,但没有帮助。以下是属性。
输出通道 - 生产者
spring.cloud.stream.bindings.output.destination=temp-channel
spring.cloud.stream.bindings.output.group=temp-channel-group
输入通道 - 消费者
spring.cloud.stream.bindings.input.destination=temp-channel
spring.cloud.stream.bindings.input.group = temp-channel-group
spring.cloud.stream.bindings.input.consumer.exchange-type=direct
spring.cloud.stream.bindings.input.consumer.bind-queue=true
spring.cloud.stream.bindings.input.consumer.binding-routing-
key=foo.bar.key
spring.cloud.stream.bindings.input.consumer.required-groups=final-
channel-group-1
spring.cloud.stream.bindings.input.consumer.auto-bind-dlq=true
spring.cloud.stream.bindings.input.consumer.dlq-ttl=5000
spring.cloud.stream.bindings.input.consumer.dlq-dead-letter-
exchange=final-channel-1
spring.cloud.stream.bindings.input.consumer.dlq-dead-letter-queue=final-
channel-group-1
spring.cloud.stream.bindings.input.consumer.dlq-dead-routing-
key=foo.bar.key
当使用spring-boot实现时,我看到消息在临时队列中停留了指定的时间,然后移动到最终队列,我想用spring cloud stream实现同样的效果。任何意见将不胜感激。
【问题讨论】:
-
那么这个 prop 发生了什么,
final-channel-1Exchange 和final-channel-group-1Queue 已经创建并绑定了?x-dead-letter-exchange和x-dead-letter-routing-key和x-message-ttl是否配置在 Queue 的 arg 中?
标签: spring-boot rabbitmq spring-cloud-stream