rabbitmq - 在 RabbitMQ 中按属性或标头获取消息
问题描述
我是 RabbitMQ 的新手,我遇到了一个问题。我正在尝试通过 API 方法从队列中获取消息。我已经做到了,如果可能的话,我想通过标题或属性从队列中获取消息。我阅读了有关 HTTP API 的文档。我还没有找到这样的 API 来按某些标头或属性过滤消息。
我使用这种 API 从队列中获取消息:
/api/queues/vhost/name/get
在体内:
{"count":20,"ackmode":"ack_requeue_true","encoding":"auto"}
我在想,也许有可能以某种方式在正文中传递一些过滤器,以便它可以过滤并返回我想要的消息。
我试图通过身体type = "myType"
或header = "myHeader"
解决方案
我已经做到了,如果可能的话,我想通过标题或属性从队列中获取消息。
RabbitMQ 仅从队列中按顺序传递消息。一旦消息在队列中,就无法过滤。
但是,您可以在消息发布到交换器时对其进行过滤。使用基于标头值的标头交换和绑定队列。然后,每个队列将包含您期望的消息,然后您可以从中消费。
RabbitMQ 教程有一个使用“标头交换”的部分。以此为指导。
最后,仅使用 HTTP API 进行测试。这是检索消息的一种非常低效的方式。
注意: RabbitMQ 团队会监控rabbitmq-users
邮件列表,有时只会在 StackOverflow 上回答问题。
推荐阅读
- java - 从范围报告 3.1.5 迁移到 Selenium 的 4.1.6
- json - 将 Json 数据从本地文件加载到 REACT 中的 Typescript 变量中
- java - 如何使用ajax将Json Array从java servlet发送到JSP?
- xamarin - Xamarin Android 应用程序不以 Xamarin 地图和自定义 pin 开头
- javascript - 如何防止在支付认证成功之前在 Stripe 中创建试用订阅?
- java - 如何将内部存储中的本地文件用作 AssetFileDescriptor?
- python - 命令行中函数的返回值不正确
- c# - 验证 Worker Service 上的配置文件
- ios - 重命名 XCode 项目后面临的问题
- c++ - 无法使用 C++ Poco 库正确克隆 JSON 数组