- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用][经典]JMS中间件ActiveMQ介绍
JMSActiveMQ介绍
By Pochmuchka
JMS介绍
Java Message Service(JMS)是SUN提出的旨在统一各种MOM(Message-Oriented Middleware )系统接口的规范,它包含点对点(Point to Point,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。
简单的说,JMS制定了一个发消息的规范。是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
ActiveMQ是Apache出品的开源项目,它是JMS规范的一个实现,
JMS的作用
在不同应用之间进行通信或者从一个系统传输数据到
另外一个系统。两个应用程序之间,或分布式系统中发送消息,进行异
步通信。
这类问题有很多解决方案 ,比如DB、SOA、Socket通信、RMI,等,但我
们需要根据项目的限制以及功能和性能的需要作出选择。
JMS的应用场景:规模和复杂度较高的分布式系统。
(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;
(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;
(3)点对点通信:客户的一次调用只发送给某个单独的目标对象。
MOM在系统中的位置
JMS模型
Java消息服务应用程序结构支持两种模型:
1.点对点模型(基于队列)
每个消息只能有一个消费者。消息的生产者和消费者之间没有时间上的
相关性.可以由多个发送者,但只能被一个消费者消费。
一个消息只能被一个接受者接受一次
生产者把消息发送到队列中(Queue),这个队列可以理解为电视机频道(channel)
在这个消息中间件上有多个这样的channel
接受者无需订阅,当接受者未接受到消息时就会处于阻塞状态
2. 发布者/订阅者模型(基于主题的)
每个消息可以有多个消费者。
生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消
费自它订阅之后发布的消息.
允许多个接受者,类似于广播的方式
生产者将消息发送到主题上(Topic)
接受者必须先订阅
注:持久化订阅者:特殊的消费者,告诉主题,我一直订阅着,即使网络断开,消息服务器也记住所有持久化订阅者,如果有新消息,也会知道必定有人回来消费。
JMS消息发送模式
Topic 发送模式
JMS公共接口
JMS 公共
点对点域
发布/订阅域
ConnectionFactory
QueueConnectionFactory
TopicConnectionFactory
Connection
QueueConnection
TopicConnection
Destination
Queue
Topic
Session
QueueSession
TopicSession
MessageProducer
QueueSender
TopicPublisher
MessageConsumer
QueueReceiver
TopicSubscriber
JMS的基本构件
连接工厂:
连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的
ActiveMQConnectionFactory。
连接: JMS Connection封装了JMS 客户端到JMS Provider 的连接与JMS提供者之间的一个虚拟的连接。
会话: JMS Session是生产和消费消息的一个单线程上下文。会话用于创建
消息的生产者(producer),消费者(consumer),消息(message)等,
会话,是一个事务性的上下文。
消息的生产和消费不能包含在同一个事务中。
JMS的基本构件
生产者:MessageProducer 由Session 对象创建的用来发送消息的对象
消费者:MessageConsumer 由Session 对象创建的用来发送消息的对象
消息:Message jms消息包括消息头和消息体以及其它的扩展属性。
JMS定义的消息类型有TextMessage、MapMessage、BytesMessage、
StreamMessage和ObjectMessage。
目的地:Destination,消息的目的地,是用来指定生产的消息的目标和它消费的消息的来源的对象。
消息队列:Queue 点对点的消息队列
消息主题:Tipic 发布订阅的消息队列
Jms消息发送时序图
Jms消息发送开发流程
1、生产者(producer)开发流程(ProducerTool.java):
1.1 创建Connection:
您可能关注的文档
- [计算机软件及应用]AutoCAD教案全本.doc
- [计算机软件及应用]cad机械制图必看.ppt
- [计算机软件及应用]CAD CAM.ppt
- [计算机软件及应用]BREW内容管理平台[上海电信].ppt
- [计算机软件及应用]Android编程入门教程1.pdf
- [计算机软件及应用]C++第2版1-修改版简化版.ppt
- [计算机软件及应用]CCERP培训.ppt
- [计算机软件及应用]CAXA电子图板机械版用户培训.ppt
- [计算机软件及应用]ch06.ppt
- [计算机软件及应用]CH3需求分析.ppt
- [计算机软件及应用]Windows 7 应用及产品培训资料.pdf
- [计算机软件及应用]《上古卷轴5》15个魔神任务地点及神器奖励.doc
- [计算机软件及应用]winhex数据恢复入门使用教程.doc
- [计算机软件及应用]xmpp协议的使用.doc
- [计算机软件及应用]word邮件合并.ppt
- [计算机软件及应用]《项目客户化开发方案》.doc
- [计算机软件及应用]中医美容DIY.ppt
- [计算机软件及应用]中国软件行业分析研究报告.doc
- [计算机软件及应用]VMware_linux_install-11g最经典.doc
- [计算机软件及应用][企业管理软件开发ERP]X5用户使用手册.pdf
文档评论(0)