JMS可靠性机制】的更多相关文章

                    JMS的可靠性机制1.消息接收确认        JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段:客户接收消息.客户处理消息和消息被确.        在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式( acknowledgement mode).该参数有以下三个可选值:         Session.AUT0 ACKNOWLEDGE:当客户成功的从 r…
1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功的消费了,消息的成功消费通常包含三个阶段:客户接收消息,客户处理消息和消息被确认 在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式.改参数有三个可选值 ① Session.AUTO_ACKNOWLEDGE:当客户成功的从receive方法返回的时候,或者从MessageListener.onMessage方法成功返回的时候,会话自动确认客户收到的消息. ②Session…
1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段: 客户接收消息 客户处理消息 消息被确认 在事务性会话中,当一个事务被提交的时候,确认自动发生. 在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(Acknowledge mode),该参数有以下三个可选值 Session.AUTO_ACKNOWLEGDE: 当消费者成功的从receive方法返回的时候,或者从MessageListener.onMessage方法成功返回的时候,会…
4.3.1 基本可靠性机制4.3.1.1 控制消息的签收(Acknowledgment) 客户端成功接收一条消息的标志是这条消息被签收.成功接收一条消息一般包括如 下三个阶段:1.客户端接收消息:2.客户端处理消息:3.消息被签收.签收可以由ActiveMQ 发起,也可以由客户端发起,取决于Sessi on 签收模式的设置. 在带事务的 Session 中,签收自动发生在事务提交时.如果事务回滚,所有已经接 收的消息将会被再次传送. 在不带事务的Session 中,一条消息何时和如何被签收取决于…
JMS中为数不多的重点就是消息的确认机制,下面分别介绍J2EE和Spring的MessageListenerContainer的确认机制 J2EE中JMS确认机制 在JMS规范中一共4种确认方式 AUTO_ACKNOWLEDGE当调用recieve方法成功后或MessageListener处理函数成功返回后进行确认 CLIENT_ACKNOWLEDGE客户端通过message的acknowledge方法手动确认 DUPS_OK_ACKNOWLEDGE延迟确认,在对重复接受同一消息不敏感时可以选用…
转自http://blog.csdn.net/zhangzhebjut/article/details/38467145 一 可靠性简介 Storm的可靠性是指Storm会告知用户每一个消息单元是否在一个指定的时间(timeout)内被完全处理.完全处理的意思是该MessageId绑定的源Tuple以及由该源Tuple衍生的所有Tuple都经过了Topology中每一个应该到达的Bolt的处理. 注: timetout 可以通过Config.TOPOLOGY_MESSAGE_TIMEOUT_SE…
一.关联代码 使用maven,代码如下. pom.xml  参考 http://www.cnblogs.com/hd3013779515/p/6970551.html MessageTopology.java package cn.ljh.storm.reliability; import org.apache.storm.Config; import org.apache.storm.LocalCluster; import org.apache.storm.topology.Topology…
在当今网络世界,虽然大部分网络应用都是基于 TCP 的,但有时 UDP 的网络通信也有用武之处.acl 的网络库中不仅提供了基于 TCP 的网络套接字流,同时也提供了 UDP 的网络库(目前 acl 库的网络部分仅提供了基本的 UDP 功能,如果想实现 UDP 重传及可靠性机制,大家可以参考 udt --https://sourceforge.net/projects/udt/ 库). 使用 acl 网络库无论编写客户端还是服务器程序,都需要首先调用 acl_vstream_bind 接口绑定本…
全文用到的生产者代码: 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…
1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功的消费了,消息成功消费通常包含三个阶段:客户接收消息,客户处理消息和消息被确认. 在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledge  mode).该参数有以下三个值可选: Session.AUTO_ACKNOWLEDGE:当客户成功的从receive方法返回的时候,或者MessageListener.onMessage方法成功返回的时候,会话自动…
1.JMS消息确认机制 JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段:客户接收消息.客户处理消息和消息被确认.在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledgement mode).该参数有以下三个可选值: Session.AUTO_ACKNOWLEDGE.当客户成功的从receive方法返回的时候,或者从MessageListener.onMessage方法成功返回的时…
文章转自:http://www.linuxidc.com/Linux/2013-02/79664.htm 1.JMS消息确认机制 JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段:客户接收消息.客户处理消息和消息被确认.在事务性会话中,当一个事务被提交的时候,确认自动发生.在非事务性会话中,消息何时被确认取决于创建会话时的应答模式(acknowledgement mode).该参数有以下三个可选值: Session.AUTO_ACKNOWLEDGE.当客户成功…
消息的签收(Acknowledgment): 客户端成功接收一条消息的标志是这条消息被签收. 成功接收一条消息一般包括如下三个阶段: (1) 客户端接收消息  (2) 客户端处理消息   (3) 消息被签收 签收可以由ActiveMQ发起,也可以由客户端发起,取决于Session签收模式的设置. 在带事务的Session中,签收自动发生在事务提交时.如果事务回滚,所有已经接收的消息将会被再次传送.在不带事务的Session中,一条消息何时和如何被签收取决于Session的设置. 非事务会话可做如…
[1.面向消息的中间件]顾名思义,面向消息的中间件就是通过使用消息(而不是命令)将企业内的组件连接起来的系统.例如库存系统可能会与工资和会计系统进行通信,如果使用面向消息的中间件将他们连接在一起,就可以在任何时候关闭任何系统,发送到这个系统的消息会放在队列中,知道系统恢复工作,这样就可以在平台,语言,API和时间方面对系统进行松散耦合. [2.JMS ]JMS即JAVA消息服务,在JMS中JMS消息并不同应用直接交互,而是同JMS服务器的目的地(destination)进行交互.对应发送消息的应…
Java架构师必会的技能 我把它分为了五大专题 工程化专题 工程化专题 git git安装使用 git日常使用:fetch/pull/push/revert/rebase git分支管理git flow Jenkins多套环境(test/pre/production)系统自动化发布 Jenkins自动发布到远程主机 MavenMaven私服搭建setting.xml文件剖析pom.xml详解Maven实用插件教学(静态代码检查.生成可执行jar包)profile使用 源码分析 源码分析 Spri…
ActiveMQ 持久化设置: 在redis中提供了两种持久化机制:RDB和AOF 两种持久化方式,避免redis宕机以后,能数据恢复,所以持久化的功能 对高可用程序来说 很重要. 同样在ActiveMQ 中 也提供了持久化的功能,在生产者 生产消息 到队列中,可以通过设置 该消息在队列中是否持久化.持久化以后,即使ActiveMQ重启了,队列中的消息也不会丢失 java中,在生产者 发送消息的时候可以通过api 设置 producer.setDeliveryMode(DeliveryMode.…
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 个主要的消息头: 发送和接收的消息类型必须一致 消息属性:识别.…
以下内容转自: http://setting.iteye.com/blog/1097767 ---------------------------------------------------------------------------------------------------------------- kimmking:介绍下jms和ActiveMQ.在讲JMS之前,我们聊聊相关的背景.谁知道JMS是什么意思? kimmking:对,是message service.那,什么事me…
JMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking <kimmking@163.com> 整理:林木森 ppt下载地址: http://code.google.com/p/activemq-store-mongodb/downloads/list 下面开始: kimmking:介绍下jms和ActiveMQ.在讲JMS之前,我们聊聊相关的背景.谁知道JMS是什么意思? kimmking:对,是m…
1. 背景 当前,CORBA.DCOM.RMI等RPC中间件技术已广泛应用于各个领域.但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行:(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程 都必须正常运行:如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常:(3)点对点通信:客户的一次调用只发送给某个单独的目标对象. 面向消息的中间件(Message Oriente…
关键字: activemq 1 JMS    在介绍ActiveMQ之前,首先简要介绍一下JMS规范.1.1 JMS的基本构件1.1.1 连接工厂    连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory. 1.1.2 连接    JMS Connection封装了客户与JMS提供者之间的一个虚拟的连接. 1.1.3 会话    JMS Session是生产和消费消息的一个单线程上下文.会话用于创建消息生产者(producer).消息消…
1.JMS消息的异步与同步接收 消息的异步接收: 异步接收是指当消息到达时,主动通知客户端,即当消息到达时转发到客户端.JMS客户端可以通过注册一个实现MessageListener接口的对象到MessageConsumer,这样,每当消息到达时,JMS Provider 会调用MessageListener中的onMessage 方法.所以需要创建一个消息监听器,然后注册一个或多个使用MessageConsumer的JMS MessageListener接口.会话(主题或队列)负责产生某些消息…
[ZT]JMS介绍:我对JMS的理解和认识 转自:http://blog.csdn.net/KimmKing/archive/2011/06/30/6577021.aspx,感谢作者KimmKing JMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking <kimmking@163.com> 整理:林木森 ppt下载地址: http://code.google.com/p/activemq-stor…
JMS规范  JMS定义了Java中访问消息中间件的接口,并没有给予实现,实现JMS接口的消息中间件称为JMS Provider,例如ActiveMQ JMS provider: 实现JMS接口和规范的消息中间件 JMS message: JMS的消息,JMS消息由以下三部分组成:1:消息头:每个消息头字段都有相应的getter和setter方法2:消息属性:如果需要除消息头字段以外的值,那么可以使用消息属性3:消息体:封装具体的消息数据JMS producer: 消息生产者,创建和发送JMS消…
目录 介绍 消息队列的理解 举个栗子 使用场景 消息队列的模型与概念理解 JMS模型 基本概念: 内容: JMS定义的消息结构: PTP式消息传递 PUB/SUB式消息传递 可靠性机制 事务 消息持久性规范DeliveryMode 消息优先级规范Priority 消息过期规范Expiration 消息的临时目的地 JMS应用开发基本步骤: 总结 首发时间:2019-05-16 介绍 消息队列,也可以称为"消息中间件"(中间件是一种独立的系统软件或服务程序,请注意独立二字,它是一个类似m…
什么是JMS MQ 全称:Java MessageService 中文:Java 消息服务. JMS 是 Java 的一套 API 标准,最初的目的是为了使应用程序能够访问现有的 MOM 系 统(MOM 是 MessageOriented Middleware 的英文缩写,指的是利用高效可靠的消息传递机 制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.) : 后来被许多现有 的 MOM 供应商采用,并实现为 MOM 系统.[常见 MOM 系统包括 Apache 的 ActiveM…
欢迎转载,转载请注明出处,徽沪一郎. 本文详细分析TridentTopology的可靠性实现, TridentTopology通过transactional spout与transactional state相结合,能够做到tuple“只被处理一次,不多也不少”.也就是做到事务性处理exactly-once,要么成功,要么失败. 而一般的storm topology是无法保证eactly-once的处理的,它们要么是at-least-once(至少被处理一次,有可能被处理多次):要么是at-mo…
Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理保障机制) 消息的"完整性处理" 在消息得到完整性处理后或处理失败后会发生什么 Storm 的可靠性 API 在 tuple 可以被重新处理的前提下,如何使应用正确运行 Storm 是以怎样以高效的方式实现可靠性 调整可靠性 Daemon Fault Tolerance(守护线程容错机制)…
4.1 简介 storm可以确保spout发送出来的每个消息都会被完整的处理.本章将会描述storm体系是如何达到这个目标的,并将会详述开发者应该如何使用storm的这些机制来实现数据的可靠处理. 4.2 理解消息被完整处理 TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("sentences", new KestrelSpout("kestrel.backtype.com", 22…
一 可靠性简单介绍                    Storm的可靠性是指Storm会告知用户每个消息单元是否在一个指定的时间(timeout)内被全然处理. 全然处理的意思是该MessageId绑定的源Tuple以及由该源Tuple衍生的全部Tuple都经过了Topology中每个应该到达的Bolt的处理. 注: timetout 能够通过Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS 来指定        Storm中的每个Topology中都包括有一个Ack…