快速阅读
利用Exchange的Direct类型,实现对队列的过滤,消费者启动以后,输入相应的key值,攻取该key值对应的在队列中的消息 。
从一节知道Exchange有四种类型
前面我们说了fanout类型,可以把消息发送给所有的消费者,
在用Fanout类型的时候,我们绑定的时候是没有指定Routing key的【空值】
这次我们说一下Direct类型
生产者代码
- 创建连接和信道
- 声明交换器名字和指定类型为direct
- 发送routingkey=rk1 和rk2的消息各五次
消费者代码
- 输入要查看的消息类型,支持rk1 和rk2
- 创建连接和信道
- 声明交换器名字和指定类型为direct
- 指定队列名称,并且把routingkey的值赋值给控制台手动需要输入的rk1或者rk2
- 接收消息并回馈,和fanout类型一样的代码了。
查看结果
我们看到生产者分别生产了五条rk1和五条rk2的消息
消费者1输入只查看rk1的消息,成功获得了rk1的消息
同样的
消费者2输入只查看rk2的消息,成功获得了rk2的消息
要注意的是先把先消费者启动起来
友情提示
我对我的文章负责,发现好多网上的文章 没有实践,都发出来的,让人走很多弯路,如果你在我的文章中遇到无法实现,或者无法走通的问题。可以直接在公众号《爱码农爱生活 》留言。必定会再次复查原因。让每一篇 文章的流程都能顺利实现。