RabbitMQ 死信交换 - 通过 "x-death.reason" 或 "x-first-death-reason" header 路由

RabbitMQ dead letter exchange - route by "x-death.reason" or "x-first-death-reason" header

我正在尝试设置 RabbitMQ 以根据死亡原因通过死信交换路由消息(“x-death.reason”或“x-first-death-reason”都可以)。

我的理解是,当一条消息被发送到DLX时,“x-death.reason”和“x-first-death-reason”被设置为headers。所以我的推理是我应该能够与 type=headers 建立交换,以便能够通过这些 headers.

的值进行路由

不幸的是,我无法让它工作。

DLX 设置如下

然而,每条死消息都被路由到绑定 queues 的 all

即filtering/routing 不工作。

谁能告诉我如何正确配置它。

谢谢

发件人:https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchange-headers

Note that headers beginning with the string x- will not be used to evaluate matches.