java消息机制学习材料较全面

java消息机制学习材料较全面

ID:38566296

大小:584.48 KB

页数:41页

时间:2019-06-15

java消息机制学习材料较全面_第1页
java消息机制学习材料较全面_第2页
java消息机制学习材料较全面_第3页
java消息机制学习材料较全面_第4页
java消息机制学习材料较全面_第5页
资源描述:

《java消息机制学习材料较全面》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JMS学习交流声明:此文档是我在学习java消息机制时找到的,个人认为比较经典,但寻找的比较艰辛,可能文库里标题不够吸引,为方便大家以后学习好找,我将标题该成更容易找的关键字,同时混点积分,出于学习目的。关于转载或其他经济利益与原作者发生矛盾的与我本人无关。JMS介绍JavaMessageService(JMS)是SUN提出的旨在统一各种MOM(Message-OrientedMiddleware)系统接口的规范,它包含点对点(PointtoPoint,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。简单的说

2、,JMS制定了一个发消息的规范。是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。ActiveMQ是Apache出品的开源项目,它是JMS规范的一个实现,JMS的作用在不同应用之间进行通信或者从一个系统传输数据到另外一个系统。两个应用程序之间,或分布式系统中发送消息,进行异步通信。这类问题有很多解决方案,比如DB、SOA、Socket通信、RMI,等,但我们需要根据项目的限制以及功能和性能的需要作出选择。JMS的应用场景:规模和复杂度较高的分布式系统。(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;(2)客户和服务对象的生命周期紧密耦

3、合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;(3)点对点通信:客户的一次调用只发送给某个单独的目标对象。MOM在系统中的位置JMS模型Java消息服务应用程序结构支持两种模型:1.点对点模型(基于队列)每个消息只能有一个消费者。消息的生产者和消费者之间没有时间上的相关性.可以由多个发送者,但只能被一个消费者消费。一个消息只能被一个接受者接受一次生产者把消息发送到队列中(Queue),这个队列可以理解为电视机频道(channel)在这个消息中间件上有多个这样的channel接受者无需订阅,当接受者未接受到消息时就会处于阻

4、塞状态2.发布者/订阅者模型(基于主题的)每个消息可以有多个消费者。生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它订阅之后发布的消息.允许多个接受者,类似于广播的方式生产者将消息发送到主题上(Topic)接受者必须先订阅注:持久化订阅者:特殊的消费者,告诉主题,我一直订阅着,即使网络断开,消息服务器也记住所有持久化订阅者,如果有新消息,也会知道必定有人回来消费。JMS消息发送模式Topic发送模式JMS公共接口JMS公共点对点域发布/订阅域ConnectionFactoryQueueConnectionFactoryTopicConnectionFactoryCon

5、nectionQueueConnectionTopicConnectionDestinationQueueTopicSessionQueueSessionTopicSessionMessageProducerQueueSenderTopicPublisherMessageConsumerQueueReceiverTopicSubscriberJMS的基本构件连接工厂:连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory。连接:JMSConnection封装了JMS客户端到JMSProvider的连接与JMS提供者之间的一个虚拟的连

6、接。会话:JMSSession是生产和消费消息的一个单线程上下文。会话用于创建消息的生产者(producer),消费者(consumer),消息(message)等,会话,是一个事务性的上下文。消息的生产和消费不能包含在同一个事务中。JMS的基本构件生产者:MessageProducer由Session对象创建的用来发送消息的对象消费者:MessageConsumer由Session对象创建的用来发送消息的对象消息:Messagejms消息包括消息头和消息体以及其它的扩展属性。JMS定义的消息类型有TextMessage、MapMessage、BytesMessage、StreamMes

7、sage和ObjectMessage。目的地:Destination,消息的目的地,是用来指定生产的消息的目标和它消费的消息的来源的对象。消息队列:Queue点对点的消息队列消息主题:Tipic发布订阅的消息队列Jms消息发送时序图Jms消息发送开发流程1、生产者(producer)开发流程(ProducerTool.java):1.1创建Connection:根据url,user和password创建一个jmsConnection

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。