博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.RabbitMQ 第一个程序
阅读量:4339 次
发布时间:2019-06-07

本文共 969 字,大约阅读时间需要 3 分钟。

RabbitMQ消息服务器主要解决应用程序之间异步消息传输问题,传统的MQ分为点对点和主题与订阅,RabbitMQ使用Exchange(交换机)实现更加灵活的消息传递。

前面介绍过几个概念,RoutingKey,Binding,Queue,Exchange,
Binding将Exchange和Queue绑定在一起,Exchange是交换机,Queue是消息队列,Exchange的四种类型决定如何将生产者的消息分发到Queue上。
RoutingKey是路由关键字,生产者根据RoutingKey决定将消息发送到哪个Exchange上,进而由Exchange决定将消息发送到哪个Queue上,消费者就可以从Queue获得消息。
 
交换机类型Direct
将符合Routing Key匹配到指定的Exchange,进而到指定的Queue上,类似点对点
交换机类型Fanout
忽略Routing Key,将消息发送到所有与Exchange绑定的Queue上,类似广播
交换机类型Topic
是根据统配符投递消息
*匹配一个单词,#匹配一个或多个单词
交换机类型Headers
类似Direct,只是不再使用RoutingKey匹配投递,而是使用headers中消息属性匹配Queue
 
下面的例程是使用Direct类型的交换机
 
编写消息生产者,需要在生产者中定义或使用Exchange和Queue
运行后,通过RabbitMQ控制台可以看到
我们看到消息队列TestQueue中有一条消息。
 
编写消息消费者,
需要在生产者中定义或使用Exchange和Queue
运行消费者程序后,查看RabbitMQ管理台,发现消息消失了。
 
Java使用RabbitMQ必须下载RabbitMQ客户端类库,这里使用的是amqp-client-3.2.2.jar版本,为了方便使用类库,还需要下载API amqp-client-3.2.2-javadoc.jar
 
API解图
 
这里两个文件,可以通过云盘下载:
https://pan.baidu.com/s/1miBtbRi
 
 
程序代码下载
https://pan.baidu.com/s/1dF4fGOh
 

转载于:https://www.cnblogs.com/zzpblogs/p/8168772.html

你可能感兴趣的文章
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>
CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
查看>>
使用正确的姿势跨域
查看>>
AccountManager教程
查看>>
Android学习笔记(十一)——从意图返回结果
查看>>
算法导论笔记(四)算法分析常用符号
查看>>
ultraedit激活
查看>>
总结(6)--- python基础知识点小结(细全)
查看>>
亿级曝光品牌视频的幕后设定
查看>>
ARPA
查看>>
JSP开发模式
查看>>
我的Android进阶之旅------>Android嵌入图像InsetDrawable的使用方法
查看>>
Detours信息泄漏漏洞
查看>>
win32使用拖放文件
查看>>