- 主题交换机
DLE
,旨在成为死信交换机 - 主题交换机
E
,是“主”交换机 - 绑定到
E
的多个队列(EQ1
,...,EQn
)(并使用x-dead-letter-exchange = DLE
初始化),每个队列都有自己的路由键。这些队列是被消费的队列。 - 对于每个
EQn
,都有一个DLEQn
(使用x-dead-letter-exchange = E
和x-message-ttl = 5000
初始化),与DLE
绑定,并具有与EQn
相同的路由键。这些队列不被消费
我想要的是:如果消费者无法处理来自EQn
的消息,则使用requeue: false
Nacks该消息,并将其发送到DLEQn
- 即发送到适当的死信交换机队列。现在,我希望此消息在DLEQn
上停留一段时间,然后再次路由回原始队列EQn
以进行处理。
尽管我尝试了很多次,但我无法使“重新发送到原始队列”正常工作。我看到消息在DLEQn
中停留,并具有所有正确的标头和路由键,但是TTL过期后它们就消失了。
我在这里做错了什么?