ActiveMQ消息的可靠性机制(转)】的更多相关文章

文章转自:http://www.linuxidc.com/Linux/2013-02/79664.htm 1.JMS消息确认机制 JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段:客户接收消息.客户处理消息和消息被确认.在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledgement mode).该参数有以下三个可选值: Session.AUTO_ACKNOWLEDGE.当客户成功…
下面我们来学习一下消息接受确认和发送持久化消息.消息的过期.消息的选择器和消息的优先级. 一.消息接收确认 1.jms消息只有在被确认之后才认为成功消费了这条消息.消息的成功消费通常包括三个步骤:(1).client接收消息 (2).client处理消息 (3).消息被确认(也就是client给一个确认消息) 不管是事务性会话还是非事务性会话,第一步和第二步都一样但第三步有所不同 2.在事务性会话中当一个事务被提交的时候,确认自动发生,和应答模式没关系,这个值可以随便写.(这里多提一句异步消息接…
全文用到的生产者代码: package cn.qlq.activemq; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Queue; import javax.jms.Session; import javax.jms.TextMessage; imp…
前面一节简单学习了activemq的使用,我们知道activemq的使用方式非常简单有如下几个步骤: 创建连接工厂 创建连接 创建会话 创建目的地 创建生产者或消费者 生产或消费消息 关闭生产或消费者.关闭会话.关闭连接 前面我们的实例代码中已经按照这个步骤完成了P2P和Pub/Sub模式的消息发送和接收.那么这一节我们就针对他的消息传播机制和持久化方式做一个简单的学习.在会用的同时我们也需要理解一些基本的概念,这样才不至于在出错后无从下手. 1.activemq服务器工作模型 我们先看一下消息…
1.JMS消息确认机制 JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段:客户接收消息.客户处理消息和消息被确认.在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledgement mode).该参数有以下三个可选值: Session.AUTO_ACKNOWLEDGE.当客户成功的从receive方法返回的时候,或者从MessageListener.onMessage方法成功返回的时…
高级特性之消息的可靠性 可靠性分为:生产者.消费者.生产者必须让mq收到消息,消费者必须能够接收到消息并且消费成功,这就是消息的可靠性. 1:生产者可靠性 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Session.AUTO_ACKNOWLEDGE是mq自动应答,当生产者往mq发送消息的时候,当模式为queue, 消息会自动的持久化,然后持久化之后就会通知发送者持久化成功,所以使用que…
大家知道,JMS规范中,Message消息头接口中有setJMSRedelivered(boolean redelivered)和getJMSRedelivered()方法,用于设置和获取消息的重发标志,当然set方法主要是MOM来调用的,我们客户端使用的是get方法. 还记得当时阿里的电话面试曾问过我,你知道ActiveMQ中的消息重发时间间隔和重发次数吗?我当时尴尬了,只知道会重发,还真没去了解过其中的细节,所以最后被完美的“淘汰了”. 后来有时间了就去网上看了下官方的文档,所以现在把Act…
  转自:http://blog.csdn.net/czp11210/article/details/47022639 ActiveMQ消息传送机制以及ACK机制详解 AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的. 一. ActiveMQ消息传送机制 Producer客户端使用来发送消息的, Consumer客户端用来消费消息:它们的协同中心就是ActiveMQ bro…
三个方面保证消息的可靠性 1.消息的持久 2.事物 3.签收 一:PERSISTENT:持久性   参数说明:1.持久   2.非持久 Java里面设置持久化和非持久 持久: 将持久性设置为持久 宕机前,数据正常,未被消费 服务器恢复后,数据仍然存在,未被消费的消息为3 非持久 设置为非持久 宕机前 服务器恢复后,消息全部丢失 上面例子指定了持久化和非持久化,如果不指定的话默认为持久化 以上是针对队列模式(queue)   主题模式(Topic) 主题模式的持久化是针对订阅者,因为订阅模式下生产…
1.JAVAEE 是一套使用Java 进行企业级开发的13 个核心规范工业标准 , 包括: JDBC  数据库连接 JNDI  Java的命名和目录接口 EJB   Enterprise java bean RMI   远程方法调用    一般使用TCP/IP 协议 Java IDL    接口定义语言 JSP Servlet XML  JMS    Java 消息服务 JTA JTS JavaMail JAF JMS部件:  5 个主要的消息头: 发送和接收的消息类型必须一致 消息属性:识别.…