【问题标题】:Get messages by property or header in RabbitMQ在 RabbitMQ 中按属性或标头获取消息
【发布时间】:2019-09-24 19:11:00
【问题描述】:

我是 RabbitMQ 的新手,我遇到了一个问题。我正在尝试通过 API 方法从队列中获取消息。我已经做到了,如果可能的话,我想通过标题或属性从队列中获取消息。我阅读了有关 HTTP API 的文档。我还没有找到这样的 API 用于通过某些标头或属性过滤消息。

我使用这种 API 从队列中获取消息:

/api/queues/vhost/name/get

在正文中:

{"count":20,"ackmode":"ack_requeue_true","encoding":"auto"}

我在想,也许有可能以某种方式在正文中传递一些过滤器,以便它可以过滤并返回我想要的消息。

这就是我的消息的样子:

我尝试过在正文中传递type = "myType"header = "myHeader"

【问题讨论】:

    标签: rabbitmq message-queue messaging


    【解决方案1】:

    我已经做到了,现在我想按标题或从队列中获取消息 如果可能的话。

    RabbitMQ 仅从队列中按顺序传递消息。一旦消息在队列中,就无法过滤。

    但是,您可以在消息发布到交换器时对其进行过滤。使用基于标头值的标头交换和绑定队列。然后,每个队列将包含您期望的消息,然后您可以从中消费。

    RabbitMQ 教程有一节使用“标头交换”。以此为指导。

    最后,只使用 HTTP API 进行测试。这是一种非常低效的消息检索方式。


    注意:RabbitMQ 团队会监控 rabbitmq-users mailing list 并且有时只回答 StackOverflow 上的问题。

    【讨论】:

      猜你喜欢
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      相关资源
      最近更新 更多