JMS简介

http://blog.youkuaiyun.com/seawavecau/article/details/1570030
JMS源于企业应用对于消息中间件的需求,使应用程序可以通过消息进行异步处理而互不影响。JMS应用程序有四个组成部分:JMS服务提供者、消息管理对象、消息的生产者消费者和消息本身。

* JMS服务提供者实现消息队列和通知,同时实现消息管理的API。JMS已经是J2EE API的一部分,J2EE服务器都提供JMS服务。

* 消息管理对象提供对消息进行操作的API。JMS API中有两个消息管理对象:ConnectionFactory和Destination,根据消息的消费方式的不同 ConnectionFactory可以分为QueueConnectionFactory和TopicConnectionFactory,Destination可以分为Queue和Topic。用这两个管理对象可以建立到消息服务的会话。

* 消息的生产者和消费者。它们可以毫不相干,只需要消息的消费者知道如何使用消息即可。根据消息消费者数目的不同,消息的消费者分为两类:subscriber 和receiver,同样消息发送者也分为两类:Publisher和Sender。

*消息 JMS API规定了五种消息:Message、MapMessage、TextMessage、ByteMessage、StreamMessage、ObjectMessage

消费形式的不同造成JMS有两组平行的API,这就是JMS的PTP(point to point)模型和PUB/SUB(publisher和subscriber、出版和订阅)模型。PTP的消息应用中一个消息只有一个消费者,消费后该消息即不再有效。而PUB/SUB应用中一个消息可以有多个订阅者,而且每个订阅者不一定非要处理该消息。

最常用的API
*QueueConnectionFactory和TopicConnectionFactory 连接工厂用来生成QueueConnection和TopicConnection的实例

*QueueConnection和TopicConnection连接对象用来建立到JMS的连接并生成会话实例

*QueueSession和TopicSession会话对象用来创建消息、消息的生产者和消息的消费者(解释一下消息的生产者:它并不代表生成消息实例的对象而是指将消息发送到JMS的对象)

*QueueSender、TopicPublisher 消息的生产者,QueueSender的send方法和TopicPublisher的publish方法发送消息到Destination。

*QueueReciever、TopicSubscriber消息的消费者, QueueReciever和TopicSubscriber直接使用父接口MessageConsumer中定义的方法receive、 recieveNoWait等方法来接收消息,setMessageListener方法来设置消息监听器。QueueReciever的 getQueue方法得到Queue的引用,TopicSubscriber的getTopic方法得到Topic的引用。

*MessageListener,消息监听器。改接口只有一个方法onMessage(),改方法只有一个Message类型的参数,通过MessageConsumer(QueueReciever和TopicSubscriber共同的父接口)的setMessageListener方法注册后,系统在收到消息后调用改方法。

*Queue和Topic,消息Destination。主要的作用就是存储消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值