【问题标题】:RabbitMQ Headers Exchange where X-Match equals anyRabbitMQ 标头交换,其中 X-Match 等于任何
【发布时间】:2018-03-01 18:12:54
【问题描述】:

有人可以解释为什么会这样吗?

我创建了一个标头交换并将其绑定到三个具有不同参数的队列,如下所示:

然后我尝试发布一条消息,其中 any 队列 format: pdf 会收到它,如下所示:

但交换似乎无法将其路由到正确的队列,因为我收到以下消息:

由于我找不到和我有同样问题的人,这可能是我在这里做错了

请注意,例如,如果我发送 x-match:allformat: pdftype: report,则队列 test-queue-A 正常获取

【问题讨论】:

    标签: rabbitmq rabbitmq-exchange


    【解决方案1】:

    可能是我误解了您在描述中提供的各种图片,但基于可用的信息here

    您似乎正在将x-match=any 添加到邮件的标题中, 而预计在您的交换和队列之间的绑定中

    它表明绑定是如何工作的:

    消息和绑定之间的任何任何公共标头都算作匹配

    所有绑定中引用的标头需要出现在消息中,以使其匹配

    【讨论】:

    • 你是对的!我正在关注本教程cloudamqp.com/blog/…,这让我明白 x-match 出现在消息的标题中,但官方文档证实了你所说的。谢谢!
    • 该教程肯定会产生误导,我在阅读该教程后来到这里,因为我也很困惑 x-match 标头应该去哪里。
    • 对不起,我们混淆了,我们会立即更新博客图片!
    猜你喜欢
    • 1970-01-01
    • 2015-05-03
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    相关资源
    最近更新 更多