美文网首页spring
6JMS的可靠性机制

6JMS的可靠性机制

作者: jxpaiwp | 来源:发表于2017-10-24 23:11 被阅读0次

消息接收确认


    JMS消息只有被确认后,才会被认为消费,消息包含3个阶段,客户接受消息,客户处理消息,和消息被确认

事务性回话中,当一个事务被提交的时候,确认自动发生,

在非事务中,消息何时被确认取决于创建会话时的应答模式(acknowledgement mode),该参数有2个可选值
     Session.AUTO_ACKNOWLEDGE:当客户成功从receive方法返回,从MessageListener.onMessage方法成功返回的时候,回话自动确认
    Session.CLIENT_ACKNOWLEDGE:客户端通过调用消息的ackknowledge方法确认,这种确认在会话层上确认,确认一个被消费的消息,将自动确认所有被消费的消息,例如:如果一个消息消费者消费了10个消息,然后确认了第7个,那么这10个消息都被确认
   
Session.DUPS_ACKNOWLEDGE:该选择只是绘画迟钝的确认消息,如果消息provider失败,那么可能会导致一些重复的消息,如果是重复的消息,那么jms provider必须把消息头的JMSRedelivered字段设置为true

消息的持久性

支持2中模式
  PERSISTENT:指示JMS provider持久保存消息,以保证消息不会因为JMS provider的失败而丢失
  NON_PERSISTENT:不要求JMS provider持久保存消息

消息优先级

  默认10级,从0(最低)到9(最高),不指定优先级,默认4级

消息过期

  可以设置消息在一定时间后过期,默认永不过期

消息的临时目的地

   可以通过会话上的createTemporaryQueue的方法和createTemporaryTopic方法来创建临时目的地,他们的存在事件只限于创建他们的连接所保持的时间,只有创建该临时目的地的连接上的消息消费者才能够从临时目的地中提取消息

持久订阅

   该消息生产者必须试用工PERSISTENT提交消息,客户可以通过会话上createDurableSubscriber方法来创建一个持久订阅,该方法的第一个参数必须是topic,第二个参数是订阅的名称
   JMS provider会储存发布到持久订阅对应的topic,如果最次创建持久订阅的客户或者任何其他客户,使用相同的连接工程和连接的客户端ID,相同的topic和相同的订阅名,在此调用会话上的createDurableSubscriber方法,那么该持久订阅会被激活,JMS provider会喜爱那个客户发送客户出浴非激活状态时所发布的消息
     持久订阅在某个事件只能有一个激活的订阅者,该订阅创建后会一直保留,直到应用会话上调用了unsubscribe方法

本地事务

   一个JMS客户端,可以使用本地事务来组合消息的发送和接受,JMS的session接口提供了comm和rellback方法,commit意味着生产的所有消息被发送,消费的所有消息被确认,rollback意味着生产的所有消息被销毁,消费的所有消息被回复并重新提交,
    注意:如果使用请求/回复机制,如果开启事务中等待接收方的回复,那么程序会被挂起,直到事务提交,发送操作才会真正执行

相关文章

  • 6JMS的可靠性机制

    消息接收确认 JMS消息只有被确认后,才会被认为消费,消息包含3个阶段,客户接受消息,客户处理消息,和消息被确...

  • TCP 如何保证可靠性

    [TOC] 参考 1. TCP可靠性的保证机制总结 2. 网络基础:TCP协议-如何保证传输可靠性 3. TCP协...

  • spark文档记录

    Receiver的可靠性 Reliable Receiver将会启动receiver到source的ACK机制,确...

  • rabbitmq的特点

    可靠性∶RabbitMQ使用一些机制来保证可靠性,如持久化、传输确认及发布确认等。 灵活的路由∶在消息进入队列之前...

  • Kafka可靠性机制

    一、组件 介绍一下kafka进行数据复制时会涉及到的一些组件概念 zookeeper:维护集群信息,当broker...

  • Kafka数据可靠性保证

    Kafka数据可靠性保证 笔记来源于尚硅谷视频课程 一、ACK应答机制 对于某些不太重要的数据,对数据的可靠性要求...

  • kafka消息可靠性方案

    在 Kafka 工作机制 一文提及了 Kafka 消息的不可靠性。本文就 Kafka 消息的三种不可靠性(重复、丢...

  • kafka的可靠性保证

    这一篇主要来讲讲kafka的可靠性是如何实现的 1.kafka可靠性的基本机制 顺序性保证Kafka可以保证分区消...

  • kafka-怎么保证消息的可靠性与一致性

    在kafka中主要通过ISR机制来保证消息的可靠性。下面通过几个问题来说明kafka如何来保证消息可靠性与一致性 ...

  • Kafka Producer可靠性浅析

    本文主要介绍kafka producer的可靠性,包括ack、batch、重试机制等 消息发布 KafkaPr...

网友评论

    本文标题:6JMS的可靠性机制

    本文链接:https://www.haomeiwen.com/subject/chwnuxtx.html