RabbitMQ死信交换-通过“ x-death.reason”或“ x-first-death-reason”标头进行路由

问题描述

我正试图设置RabbitMQ来根据死亡原因(通过“ x-death.reason”或“ x-first-death-reason”来完成)通过死信交换路由消息。

我的理解是,当消息消失时,将消息发送到dlx时将“ x-death.reason”和“ x-first-death-reason”设置为标头。因此,我的理由是,我应该能够与type=headers进行交换,以便能够通过这些标头的值进行路由。

不幸的是,我无法正常工作。

dlx的设置方式

dead letter queue setup

但是,每条无效消息都被路由到所有个绑定队列。

target queues

即过滤/路由不起作用。

请让我知道如何正确配置它。

谢谢

解决方法

来自:https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchange-headers

请注意,以字符串 x- 开头的标头不会用于评估匹配项。