RabbitMQ - Как несколько потребителей могут использовать одно и то же сообщение из одной очереди? - PullRequest
0 голосов
/ 14 ноября 2018

Большая часть документации RabbitMQ, кажется, сосредоточена на циклическом переборе, то есть когда одно сообщение потребляется одним потребителем. У меня есть требование, при котором я хотел бы получить одно и то же сообщение из одной очереди нескольким подписчикам.

Ниже приведен мой пример кода для потребителей. Здесь 2 слушателя слушают одну и ту же очередь, но сообщение получает только один потребитель. Как настроить его так, чтобы одно и то же сообщение доставлялось обоим потребителям? (Потребитель1 и Потребитель2). Любая помощь будет высоко оценена.

@Component
public class Consumer1 {
    @RabbitListener(queues="test.queue.jsa")
    public void recievedMessage(Employee msg) {
          System.out.println("Recieved Message: " + msg);
    }
}

@Component
public class Consumer2 {
    @RabbitListener(queues="test.queue.jsa")
    public void recievedMessage(Employee msg) {
          System.out.println("Consumed Message: " + msg);
    }
}

1 Ответ

0 голосов
/ 14 ноября 2018

Это невозможно; это просто не работает таким образом. Каждому потребителю нужна своя очередь; используйте обмен разветвлениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...