发布时间:2018年04月10日 20:30:10分享人:流年真情来源:互联网18
ActiveMQ分享(一)JMS简介
文章分类:Java编程
一、概述
Message,即消息。人与人之间通过消息传递信息。言语、眼神、肢体动作都可被视为消息体。当然还有我们经常用到的邮件、短信。计算机系统也由消息来主导运行。每一条指令的执行,每一个数据包的传递。软件系统间的合作也不例外,消息告诉各个系统应该怎样协作。事件处理机制,也是消息传送的过程。消息无处不在。
消息分为同步消息和异步消息。同步消息在接收到对方的返回前,需要挂起,直到返回或超时。异步消息只需要发送消息,不需要对方系统的立即反馈。
同步消息如java RPC调用,同步调用依赖于被调用方,如果被调用方失败或网络错误,那么程序就没办法继续执行下去,造成一个系统最薄弱的环节依赖于对方系统。而多个系统通过同步调用方式耦合在一起的时候,那么可靠性取决于最薄弱的一方系统。而异步调用能增强一个系统的健壮性。当然,不是任何情况都适合异步调用,还是那句话,能异步的地方,尽量异步。
异步消息,如同一个邮箱系统,我们把信件丢入邮桶,邮递员会更具上面的地址,送达到这封信要去的地方。邮箱和信件格式由邮局提供定义,比如邮箱需要有一个口子投递邮件,邮件需要有地址,邮政编码等等。而这些邮箱具体的加工和制作均交由各自的厂商来完成。
在java消息领域,我们也有一个称为消息中间件的东西,来提供这样一个服务。消息的发送、消费接口、消息体的格式等都由JMS来定义,而具体的实现由各个消息中间件厂商来实现。JMS是sun公司对于消息中间件的一个规范。对java领域里的消息起到举足轻重的作用。以前的消息交互,均各自实现一套格式,如同一个国家的人都用不同的方言跟另外来自不同省份的人交流一样。自从规范了普通话,我们的交流成本降低了。这也正如JMS规范在整个java消息领域的作用。
二、JMS简介
JMS1.1规范定义了一些概念和一组API,可以使得在我们利用消息系统的过程中,不依赖于各个厂商的具体实现,便能写出消息代码。由于不依赖具体厂商实现,这样的代码有很好的移植性。
JMS1.1定义了的部分概念:
1、JMS客户端:接收或发送消息的java系统
2、JMS消息体:系统间发送的消息体
3、JMS提供商:JMS规范实现厂商
4、JMS管理对象:预先配置好的用于JMS客户端的JMS对象。如ConnectionFactory跟JMS服务端的连接工厂,Destination 接收和发送消息的目标地址等
5、JMS Domain:JMS定义了两种域模型,一种是PTP(point-to-point)即点对点消息传输模型,一种是pub/sub(publish-subscribe)即发布订阅模型。
PTP通过一个先进先出的queue实现。很多人在这个PTP概念上有所误解,所谓点对点不是指生产者和消费者只有一个。PTP如下图所示:
我们可以看到,一个或多个生产者发送消息,消息m2先抵达了queue,然后m1也发出了,并一同存在于一个先进先出的queue里面。消费者也存在一个或多个,对queue里的消息进行消费。但消息被随机的一个消费者消费且仅消费一次。
在pub/sub消息模型中,消息被广播给所有订阅者。如下图:
JMS1.1定义了如下接口:
JMS通用接口JMS PTP接口JMS pub/sub 接口描述
ConnectionFactoryQueueConnectionFactoryTopicConnectionFactory创建与JMS服务的连接
ConnectionQueueConnectionTopicConnectionJMS服务的连接,可创建Session
DestinationQueueTopic发送接收消息的目标,Queue和Topic均可视为一种Destination
SessionQueueSessionTopicSessionSession
MessageProducerQueueSenderTopicPublisher消息发送者
MessageConsumerQueueReceiver、QueueBrowserTopicSubscriber消息接收者/浏览者/订阅者
接口关系如下:
可以看到一个JMS应用的发送端的标准流程是:创建连接工厂>创建连接>创建session>创建发送者>创建消息体>发送消息到Destination(queue或topic)。
接收端则为:创建连接工厂>创建连接>创建session>创建接收者>创建消息监听器监听某Destination的消息>获取消息并执行业务逻辑
下面展示了JMS的编码模板:
发送端:
Java代码
爱华网本文地址 » http://www.aihuau.com/a/25101011/101901.html
更多阅读
分享一组张馨予长发美照,哥流鼻血了!——简介美女张馨予一直是众多男人心目中的梦中情人,特别是她那凹凸有致的身材,绝对让男人们神昏颠倒。最近张馨予在微博上发布一组自己的长发美照,让大家来欣赏她。下面就是小编编辑的一组张馨予长发
分享一套练腹肌最好的方法——简介曾经有朋友问我,练腹肌最好的方法是什么?我说就是一个字“练”。练腹肌这事情不是说你有什么好的健身器械、好的营养补充等等就可以出来,腹肌是长在自己身体上,想要练出腹肌,就得努力去练。分享一套练
《夜来临》封面凤凰卫视介绍本书的视频网址:http://v.ifeng.com/his/200908/f00f25eb-f61c-4aa1-92ed-cbe6e37ad26f.shtml《夜来临——吴国桢见证的国共争斗》一书简介糨糊兄推荐《夜来临——吴国桢见证的国共争斗》(NightCometh)
大家好,分享一篇短文《请你为你刚才的夸奖道歉》一位到北欧某国做访问学者的中国人,到当地的一位教授家中做客。一进门,她就看到教授5岁的小女儿满头金发,漂亮的蓝眼睛让人觉得特别清新。她不禁在心里称赞小女孩长得真漂亮。当她把从中
1. 同床异梦的夫妻这年春天,张先生来到小镇丽城避债,身边还带了张太太?不幸,张先生被匪徒绑架了?匪徒要张太太到小镇惟一的银行提款,声言要100万美元,并令她不要报警,否则会杀了张先生?张太太很是惊慌,她来到银行,见附近有匪徒扮成