消息队列不仅可以应用于一对一的场景,还可以实现多对多的通信。可以有多个消息发送方向同一队列发送消息,可以有多个消息接收方从同一队列中获取消息,这样就可以实现消息队列的多对多。这里简单演示此种情况。
(1)发送方改造
添加一个RabbitmqSender2类,此类添加一个发送方法,此方法需要传入一个Index参数用于消息计数,在前面的RabbitmqSender类中也同样添加此方法。
修改Controller类,注入RabbitmqSender2的类实例,添加一个批量发送的方法。
(2)接收方改造
在接收方添加另一个类MessageReceiver2,此类同样监听StringQueue队列。
(3)效果演示
首先启动发送方,然后调用发送方的多发方法,可以在RabbitMQ中看到相应变化,如图17-3所示。
(www.xing528.com)
图17-3 消息队列中收到的消息
启动接收方程序,可以在控制台看到如下信息输出:
messageReceiver:string message send 0
messageReceiver:string message send 0
messageReceiver:string message send 1
messageReceiver2:string message send 1
messageReceiver:string message send 2
messageReceiver2:string message send 2
messageReceiver:string message send 3
messageReceiver2:string message send 3
…
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。