我可以使用Publish/Subscribe RabbitMQ Java 教程创建一个扇出交换,并且任何连接的消费者都将收到一条消息的副本。我不想以动态/编程方式声明交换和绑定,而是想在连接任何消费者之前创建交换和绑定。我通过 RabbitMQ 管理控制台完成了这项工作。然而,出于某种原因,我的消费者以循环方式接收消息,而不是所有接收消息的副本。我错过了什么?以下是一些代码片段:
出版商:
channel.basicPublish("public", "", null, rowId.getBytes("UTF-8"));
消费者:
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume("myqueue", false, consumer);
...在 RabbitMQ 管理控制台中,我创建了一个类型为“fanout”的交换“公共”,并将该交换的绑定设置为“myqueue”。
我会很感激任何帮助!