首页 理论教育 Java服务端研发:多对多实现

Java服务端研发:多对多实现

时间:2023-11-22 理论教育 版权反馈
【摘要】:可以有多个消息发送方向同一队列发送消息,可以有多个消息接收方从同一队列中获取消息,这样就可以实现消息队列的多对多。效果演示首先启动发送方,然后调用发送方的多发方法,可以在RabbitMQ中看到相应变化,如图17-3所示。图17-3 消息队列中收到的消息启动接收方程序,可以在控制台看到如下信息输出:messageReceiver:string message send 0messageReceiver:string message send 0messageReceiver:string message send 1messageReceiver2:string message send 1messageReceiver:string message send 2messageReceiver2:string message send 2messageReceiver:string message send 3messageReceiver2:string message send 3…

Java服务端研发:多对多实现

消息队列不仅可以应用于一对一的场景,还可以实现多对多的通信。可以有多个消息发送方向同一队列发送消息,可以有多个消息接收方从同一队列中获取消息,这样就可以实现消息队列的多对多。这里简单演示此种情况。

(1)发送方改造

添加一个RabbitmqSender2类,此类添加一个发送方法,此方法需要传入一个Index参数用于消息计数,在前面的RabbitmqSender类中也同样添加此方法。

978-7-111-61011-3-Part03-201.jpg

修改Controller类,注入RabbitmqSender2的类实例,添加一个批量发送的方法。

978-7-111-61011-3-Part03-202.jpg

978-7-111-61011-3-Part03-203.jpg

(2)接收方改造

在接收方添加另一个类MessageReceiver2,此类同样监听StringQueue队列。

978-7-111-61011-3-Part03-204.jpg

(3)效果演示

首先启动发送方,然后调用发送方的多发方法,可以在RabbitMQ中看到相应变化,如图17-3所示。

978-7-111-61011-3-Part03-205.jpg(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

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈