Получить сообщения по свойству или заголовку в RabbitMQ - PullRequest
0 голосов
/ 07 мая 2019

Я новичок в RabbitMQ и столкнулся с проблемой.Я пытаюсь получить сообщения из очереди методом API.Я сделал это сейчас, я хочу получать сообщения из очереди по заголовку или свойству, если это возможно.Я прочитал документацию по HTTP API.Я не нашел такого API для фильтрации сообщений по некоторым заголовкам или свойствам.

Я использую такой API для получения сообщений из очереди:

/api/queues/vhost/name/get

и в теле:

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

Я думал, может быть, можно как-то передать какой-то фильтр в теле, чтобы он мог фильтровать и возвращать сообщение, что я хочу.

Вот так выглядит мое сообщение: enter image description here

Я пытался пройти в теле type = "myType" или header = "myHeader"

1 Ответ

1 голос
/ 11 мая 2019

Я сделал это сейчас, я хочу получать сообщения из очереди по заголовку или свойство, если это возможно.

RabbitMQ доставляет сообщения только по очереди из очереди. Невозможно выполнить фильтрацию, когда сообщение находится в очереди.

Однако вы можете фильтровать сообщения по мере их публикации в обмен. Используйте обмен заголовками и связывайте очереди на основе значений заголовков. Затем в каждой очереди будут сообщения, которые вы ожидаете, и затем вы можете использовать их.

В учебных пособиях RabbitMQ есть раздел, в котором используется «обмен заголовками». Используйте это как руководство.

Наконец, используйте только HTTP API для тестирования. Это очень неэффективный способ получения сообщений.


ПРИМЕЧАНИЕ: команда RabbitMQ контролирует список рассылки rabbitmq-users и только иногда отвечает на вопросы о StackOverflow.

...