您的位置:首页 > 编程语言 > Java开发

java中JMS消息队列初始

2016-11-11 15:06 232 查看
1.什么是消息队列:

    JMS是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。

2.JMS基本概念:

    JMS是java中的消息服务,JMS客户端之间可通过JMS进行异步的传输。

3.消息模型分类:

    point-to-point(p2p)(点对点)

    Publish/Suscribe( pub/sub)(一对多、发布订阅模式)

4.p2p模型:



    p2p的概念涉及:

    1.消息队列。

    2.发送者。

    3.接收者。

   每个消息被发送到特定的队列,接收者从队列中获取消息。队列保存消息,直到消息过时或消费。

   特点:

   1.每个消息只有一个消费者,一旦消费,消息就不在队列中。

   2.发布者和接收者没有依赖性,发布完成后。不管接收者运没运行,都不会影响发布消息到队列。

   3.接收者成功接收消息后,需向队列应答成功。

   使用场景:想让接收者进行一次消费的话,就可以使用p2p模式。

5.Pub/Sub模型:



   概念涉及:

    1.主题。

    2.发布者。

    3.订阅者。

    特点:

    1.一个消息可以拥有多个消费者。

    2.发布者和订阅者有时间上的依赖关系,针对某个主题的订阅者,必须创建一个订阅者后,才可以消费发布者的消息。而且为了消费消息,订阅者必须保持运行状态。

    3.为了缓和这种相关性,JMS允许创建一个可持续化的订阅者,这样即使订阅者不运行。他也能接收发布者的消息。

   使用场景:希望发送的消息可以不被做任何处理、或者被一个消息者处理、或者被多个消费者处理。

消息的消费方式:

        JMS中,消息的产生和消费都是异步的,对于消费来说。JMS提供了两种方法来消费信息。

1.异步:

     订阅者或者接收者可以注册一个消息监听器,当消息到达后。系统自动调用nomessage方法。

2.同步:

    订阅者或者接受者调用receive方法来接收消息,receive方法在能够接收到消息之前一直是阻塞的。

企业使用优点:



优点:

 1.消息的灵活性。

 2.异步性。

 3.松散耦合,使得程序之间交互不再互相依赖。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: