将死队列消息移回主队列时如何防止无限循环?

时间:2015-05-29 01:15:39

标签: rabbitmq spring-amqp

我有一个带有requeue = false的失败消息的死信队列。 我通过RabbitOperations.receiveAndConvert(failedQueueName)RabbitOperations.convertAndSend(msg)以编程方式将邮件从死队列移回主队列。有没有办法防止无限循环而不使用临时队列来保存我的死队列消息,然后再将其移动到主队列?

1 个答案:

答案 0 :(得分:1)

RabbitMQ中的Deal-Leterring添加了x-death标题:

  

此数组包含每个死亡刻字事件的条目,由一对{queue, reason}标识。

这个字段有一个count字段:

  

出于这个原因,此消息在此队列中被删除了多少次

因此,我确定您可以向Dead-Letter队列使用者添加filtering以删除已经不受欢迎count的邮件。