您的位置:首页 > 其它

JMS入门--基本概念

2011-01-17 16:07 501 查看
因为学习需要,了解了一些关于JMS的东西,整理一点对自己有用的资料,做个备忘!

JMS是什么?

百度百科是这么解释的:jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

通过以上知道了两点,一是JMS首先是一个开放的标准,已经有不少现成的产品;二是JMS是个分布式的消息中间件。

JMS基本概念?

上面只是对JMS的概念性解释,那么详细点,JMS是由几个组件组成:

Brokers

Messages

Destinations

Topic

Clients

Connections

Sessions

下面一一解释:

JMS broker
JMS的服务器端,它等待客户端的连接,管理连接,处理message。可以理解为一个运行着的服务。

JMS client
JMS的客户端,它是面向开发者的,是我们使用JMS产品的途径,也是开发者的职责所在。客户端的角色有两种:

在P2P模式下叫: 消息生产者消息消费者

在P2S模式下叫: 消息发布者(Publisher)和消息订阅者(Subscriber)

Messages
一个消息对象,它有头,各种可选的属性,当然还有最重要的消息体数据

Destinations
Broker维护的消息中转站,它可以是Queue(P2P模式),也可以是Topic(P2S模式)

Queues
在P2P模式下的Destinations,它吃进生产客户端发过来的消息,并等待消费客户端取走消息。因为它是队列,所以消息是FIFO。

Connections
就像使用MySQL时用到Connections一样,你要使用JMS,同样需要它。只不过这里你可以指定各种协议,足见JMS之强大

Sessions
Connections与Sessions之间的关系是一对多,这个是容易理解的,它主要是用于事务!

JMS的两种模式

上面我们提到JMS有两种工作模式:

P2P([b]Point-to-point[/b])



P2S(Publish-Subscribe)



这两种模式区别在于:

P2P模式,一个消息发出后,只会被一个消费者接收;且消费者运行与否不会影响消息的发送.消费者在成功收到消息后,需要向Queue反馈信息

P2S模式,一个消息可以有多个订阅者(S);且发布者和订阅者之间有时间上的依赖性(详情请google之).

参考及引用:

http://www.javaeye.com/topic/609285

http://fusesource.com/docs/broker/5.4/getting_started/FuseMBStartedKeyJMS.html

http://baike.baidu.com/view/157103.html?fromTaglist

http://blog.csdn.net/quzishen/archive/2011/01/11/6128781.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: