JMS基础(2)

 

1.  JMS基本概念

  JMS(Java Message Service) ,Java消息服务JMSSUN提出的旨在统一各种消息中间件(MOM)系统接口的规范。它提供标准的产生、发送、接收消息的接口, 简化企业应用的开发。

                    它支持两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub/Sub)模型。 

  点到点模型(P2P):消息生产者产生一个消息后,把这个消息发送到一个Queue(队列)中,然后消息接收者再从这个Queue中读取,一旦这个消息被一个接收者读取之后,它就在这个Queue中消失了

              P2P模型规定一个消息只能有一个接收者, 即: 一个消息只能被一个接收者消费。

  发布/订阅模型(Pub/Sub):消息生产者产生一个消息后,把这个消息发送到一个Topic中,这个Topic可以同时有多个接收者在监听,

                当一个消息到达这个Topic之后,所有消息接收者都会收到这个消息。Pub/Sub 模型允许一个消息可以有多个接收者

  总结简单的讲,点到点模型和发布/订阅模型的区别就是前者是一对一,后者是一对多

 

2. JMS定义了2种模型

  (1) P2P: point-to-point,  点对点消息传输模型

  (2) Pub/sub: publish-subscribe, 发布订阅模型

    P2P如下图所示:

        

     如图可以看出一个或多个生产者发送消息消息m2先抵达queue, 消息m1后抵达queue, 它们一同存在于一个先进先出的queue里面消费者也存在一个或多个queue里面的消息进行消费。但消息被随机的一个消费者消费,且仅消费一次。

  点对点消息传递域的特点

  (1) 每个消息只能有一个消费者

  (2) 消息的生产者和消费者之间没有时间上的相关性。

        无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取消息。

  

  在pub/sub消息模型中消息被广播给所有的订阅者:

      

 

  特点: 每个消息可以有多个消费者。

posted on 2016-02-02 19:08  快跑的小鸡  阅读(257)  评论(0编辑  收藏  举报

导航