RabbitMQ - 多个消费者如何使用单个队列中的相同消息?

Kar*_*ola 3 spring rabbitmq spring-rabbit spring-amqp

大多数 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Gar*_*ell 6

这不可能; 它只是不能那样工作。每个消费者都需要自己的队列;使用扇出交换。