Rabbitmq消息队列:Route路由模式简单应用

一、生产者

  在发布订阅模式的代码基础上,进行一定的调整,将声明交换机的路由模式调整为direct路由模式

  这个时候需要用到路由key,类似于给消息用来分类的标签

  分别发送三条消息,发向GetOne、GetTwo和GetThree三个路由key:

//声明交换机(类型direct->路由模式) channel.exchangeDeclare(EXCHANGE,"direct"); //发送消息到交换机(交换机无法持久化,如果消息没有及时接收,重启后容易丢失数据) channel.basicPublish(EXCHANGE,"GetOne",null,"这是发送给GetOne的消息".getBytes()); channel.basicPublish(EXCHANGE,"GetTwo",null,"这是发送给GetTwo的消息".getBytes()); channel.basicPublish(EXCHANGE,"GetThree",null,"这是发送给GetThree的消息".getBytes());

二、消费者

  定义两个消费者GetOne、GetTwo,在发布订阅模式的代码基础上,进行一定的调整。

  绑定交换机时,第二个参数附加需要的路由key,如果需要绑定多个,就分多次绑定

  GetOne绑了GetOne、GetThree两个路由key,如下:

//将队列绑定到交换机(第二个参数是路由的key,需要多个的话就绑多个) channel.queueBind(QUEUE,EXCHANGE,"GetOne"); channel.queueBind(QUEUE,EXCHANGE,"GetThree");

  GetTwo绑了GetTwo一个路由key,如下:

//将队列绑定到交换机 channel.queueBind(QUEUE,EXCHANGE,"GetTwo");

三、运行结果

  首页也是先启动生产者,初始化需要用到的交换机test-route。

  

  先后依次启动消费者GetOne和GetTwo,再次启动生产者,结果如下:

  

  

 


__EOF__

本文作者我命倾尘
本文链接https://www.cnblogs.com/guobin-/p/17807204.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   我命倾尘  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示