RabbitMQ-多个使用者可以如何从单个队列使用同一条消息?

时间:2018-11-14 10:03:19

标签: spring rabbitmq spring-amqp spring-rabbit spring-rabbitmq

大多数RabbitMQ文档似乎都集中在循环上,即单个消息由单个使用者使用。我有一个要求,希望从单个队列接收相同的消息给多个订阅的使用者。

以下是我的样本消费者代码。这里有2个侦听器正在侦听相同的Queue,但是该消息仅被其中一个使用者接收。如何配置它,以便将相同的消息传递给两个使用者? (消费者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 :(得分:2)

这是不可能的;只是那样行不通。每个使用者都需要自己的队列。使用扇出交换。