RabbitMQ 标头交换,其中 X-Match 等于任何

Mat*_*ros 1 rabbitmq rabbitmq-exchange

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

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

在此处输入图片说明

然后我尝试发布一条消息,其中任何格式为 pdf 的队列都会收到它,如下所示:

在此处输入图片说明

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

在此处输入图片说明

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

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

Oli*_*ier 7

可能是我误解了您在描述中提供的各种图片,但根据此处提供的信息

看起来您正在将x-match=any加到消息的标题中,而在您的交换和队列之间的绑定中是预期的

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

或者任何消息和绑定计数作为一个之间公共报头匹配

或者绑定中引用的所有标头需要出现在消息中才能匹配