现在的位置: 首页 > 综合 > 正文

JMS入门–基本概念

2013年10月03日 ⁄ 综合 ⁄ 共 1280字 ⁄ 字号 评论关闭
文章目录

因为学习需要,了解了一些关于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

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

 

JMS的两种模式

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

  • P2P(Point-to-point)
  • A sender and three receivers on a queue. Only one receiver gets each message.

  • P2S(Publish-Subscribe)

     

  • A publisher and three subscribers on a topic. Each of the subscribers gets a copy of each message. multiple subscribers

    这两种模式区别在于:

    1.   P2P模式,一个消息发出后,只会被一个消费者接收;且消费者运行与否不会影响消息的发送.消费者在成功收到消息后,需要向Queue反馈信息
    2.   P2S模式,一个消息可以有多个订阅者(S);且发布者和订阅者之间有时间上的依赖性(详情请google之).

     

    参考及引用:

    1.  http://www.javaeye.com/topic/609285
    2.  http://fusesource.com/docs/broker/5.4/getting_started/FuseMBStartedKeyJMS.html
    3.  http://baike.baidu.com/view/157103.html?fromTaglist
    4.  http://blog.csdn.net/quzishen/archive/2011/01/11/6128781.aspx

    抱歉!评论已关闭.