我计划通过遵循这两个链接link1 link2来延迟队列中消息的处理。因此,正如链接中所建议的那样。我已经用x-dead-letter-exchange
和x-dead-letter-routing-key
args 声明了原始队列。dead-letter-queue
当消息未能被消费者处理或发生 ttl 或队列长度超过时,哪个将消息发布到所谓的消息。现在在dead-letter-queue
类似的参数中已经设置了ttl
参数。假设在ttl
超出后将消息重新发布到原始队列。但问题是它正在丢弃所有消息。
此外,这里有一个问题。如果我将失败的消息从原始队列显式发布到死信队列。然后在 ttl 之后将消息重新发布到原始队列。为什么会这样,我如何使它工作。这样死信队列会将消息重新发布到原始队列而不是丢弃。我正在使用RabbitMQ 3.0.0
.
仅供参考,我已经创建了direct
类型交换和路由密钥