码迷,mamicode.com
首页 > 其他好文 > 详细

JMS消息传递类型特点介绍

时间:2019-11-27 13:51:10      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:运行   消费   bsp   queue   状态   服务   比较   自动   inf   

对于消息的传递有两种类型:

一种是点对点的,即一个生产者和一个消费者一一对应;

 技术图片

另一种是发布/ 订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进

行接收。

    技术图片

 

 特点介绍:

点到点模型
点对点传递模型:生产者发送消息到一个特定的队列(Queue)中,而消费者从一个消息队列中得到消息,如下图所示:

点对点模型的特点:

Ø  每条消息有一个消费者

      每条只有一个消费者,如果一条消息被消息者接收,那么其他的消费者就不能得到这条消息了。

Ø 发送和接受消息与时间没有关系

      也就是说,生产者在发送消息后,消费者可以在任意的时刻接收,但有两个前提:

            1、消息未过期

            2、消息没有被其他的用户接收

      消费者也可以先运行,当生产者一运行,将消息发送到队列中,消费者即可从队列中获得消息,这叫“守株待兔“。

Ø  消费者必须确认对消息的接收

      收到消息后消费者必须确认消息已被接收,否则JMS服务提供者会认为该消息没有被接收,那么这条消息仍然可以被其他人接收。程序可以自动进行确认,不需要人工干预。

Ø  非持久的消息最多只发送一次

      非持久的消息最多只发送一次,表示消息有可能未被发送,造成未被发送的原因可能有:

            1、 JMS服务提供者出现宕机等情况,造成非持久信息的丢失

            2、 队列中的消息过期,未被接收

Ø  持久的消息严格发送一次

      我们可以将比较重要的消息设置为持久化的消息,持久化后的消息不会因为JMS服务提供者的故障或者其他原因造成消息丢失。

发布/订阅模型
      发布/订阅模型:发布/订阅传递消息类型与主题(Topic)有关。生产者发布消息,而消费者订阅感兴趣的消息,生产者将消息和一个特定的主题(Topic)连在一起,消息传递系统(MOM)根据消费者注册的兴趣,将消息传递给消费者。这种类型非常类似出版报纸、杂志的形式,如下图所示:

发布/订阅模型的特点:

Ø  每个消息都可以有多个(0,1,……)订阅者

      每条消息可以有多个消费者,如果报纸和杂志一样,谁订阅了谁都可以获得。

Ø  订阅者只能消费他们订阅之后出版的消息

      这就要求订阅者必须先订阅,生产者再发布。即订阅者必须先运行,再等待生产者的运行,这和点对点类型有所差异。

Ø  订阅者必须保持为活动状态才能使用这些消息

      即订阅者必须保持活动状态等待发布者发布的消息,如果订阅者在发布者发布消息之后才运行,则不能获得先前发布者发布的消息。

JMS消息传递类型特点介绍

标签:运行   消费   bsp   queue   状态   服务   比较   自动   inf   

原文地址:https://www.cnblogs.com/wangju/p/11941649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!