`

JMS消息的确认方式

    博客分类:
  • JAVA
 
阅读更多

JMS消息的确认方式

原文:http://www.cnblogs.com/chenying99/archive/2013/07/01/3164640.html

 

这里单独列出来我也是觉得有点必要的,毕竟JMS总体知识点并不多,这点可能被很多人所忽视.

首选定义:消息的确认是指消息接受者接到消息,并做出了对应的处理之后,它将回送一个确认消息.

对于非事务性会话,创建会话时应该指定确定方式,JMS定义了3种确认方式:

JMS确认3种方式
Auto_ACKnowledge

自动通知.
对于同步消费者,Receive方法调用返回,且没有异常发生时,将自动对收到的消息予以确认.
对于异步消息,当onMessage方法返回,且没有异常发生时,即对收到的消息自动确认.

Client_AcKnowledge

客户端自行决定通知时机

这种方式要求客户端使用javax.jms.Message.acknowledge()方法完成确认.

Dups_OK_ACKnowledge

延时//批量通知

这种确认方式允许JMS不必急于确认收到的消息,允许在收到多个消息之后一次完成确认,与Auto_AcKnowledge相比,这种确认方式在某些情况下可能更有效,因为没有确认,当系统崩溃或者网络出现故障的时候,消息可以被重新传递. 

 

分享到:
评论

相关推荐

    大型系统中使用JMS优化技巧–Sun OpenMQ

    在传送过程中,系统处理JMS消息分为以下两类: ■ 有效负荷消息,由生成方发送给使用方的消息。 ■ 控制消息,代理与客户端运行时环境之间传送的私有消息,用于确保有效负荷消息成功传送和控制跨连接的消息流。 ...

    JMS539固件更新工具v0.0.7.rar

    JMicron JMS539 Firmware Update Utility v0.0.7使用说明:先使用USB连接线连接外置USB2.0端口,确认外置硬盘能够在我的电脑上正常显示,运行固件更新程序,执行后,在出现的窗口中点击YES,更新完成后,请按...

    MDB 消息驱动Bean

    虽然MDB负责处理消息,但是由运行MDB的EJB容器负责处理服务(事务、安全、资源、并发、消息确认,等等),使bean开发者把精力集中在处理消息的业务逻辑上。传统的JMS应用程序必须定制地编写一部分这些服务。MDB在...

    java8看不到源码-jms4s:jms的功能包装器

    创建队列确认消费者 createQueueAutoAckConsumer 发布,返回一个可以发布消息的程序 创建队列发布者 创建主题发布者 在同一个本地事务中消费和发布 生产准备好了吗? 你问错了问题。 但是,是的,这是当前用于在大...

    ActiveMQ中文手册

    1.2.1 确认 JMS消息 3 1.2.2 持久性 3 1.2.3 优先级 3 1.2.4 消息过期 3 1.2.5 临时目的地 3 1.2.6 持久订阅 3 1.2.7 本地事务 3 1.3 JMS 规范的变迁 4 2.ActiveMQ 4 2.1 Broker 4 2.1.1 运行...

    ActiveMQ.rar

    包括: 消息游标、异步发送、严格分发策略、轮询分发策略、优化批量确认、 生产者流量控制等 十一: Message高级特性 包括:消息属性、 Advisory Message、延迟和定时消息投递、Blob消息、消息 转换等 n 十二: ...

    activeMQ消息发送过程与原理浅析

    activeMQ发送消息客户端发送消息分为同步发送与异步发送同步发送,发送者发送一条消息会阻塞直到broker反馈一个确认消息给发送者,表示消息已经被broker处理。这个机制提供了消息的安全性保障,由于是阻塞的操作,会...

    weblogic平台J2EE调优策略

    1.4.3 确认方式的选择和JMS事务 1.5 EJB代码调优 1.5.1 有效使用设计模式 1.5.2 使用EJB和WebLogic的特性 1.5.3 缓存资源 1.5.4 如何选择和使用Entity Bean 1.5.5 其他的一些小技巧 第二章 应用服务器调优 2.1 JVM...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    6.4.6 消息的确认方式 256 6.4.7 消息选择器 257 6.4.8 消息的临时目的261 6.5 使用队列浏览器查看全部消息 264 6.6 JMS和事务 265 6.6.1 使用事务性Session 265 6.6.2 利用JTA全局事务 267 6.7 JMS服务器的异常监听...

    java8看不到源码-ioc-unit:使用jpa、resteasy、ejb、jta、jms、validation为部署创建测试的工具箱,

    的流,以确定性的方式抛出任意数量的 Messagedriven beans。 使用多个线程来模拟生产情况并正确处理数据库连接和事务。 为避免在开发周期中部署服务器,加快新开发代码的检查/测试,如 TDD 中的要求。 以简单的方式...

    activemq新手大全

    一、JMS基本概念 二、activemq介绍及安装 1、消息中间件简介 2、activemq 2.1、activemq简介 2.2、activemq下载 2.3、运行activemq服务 ...5.2 activemq 消息确认机制 5.3 activemq 持久化机制

    istanbul-jug:在JSR中采用-Istanbul JUG

    因此,伊斯坦布尔Java小组在确定企业Java技术的未来方面拥有发言权。 如果您想通过参加Istanbul Java组为Java的未来做出贡献,那么以下步骤将为您提供指导。 在Java.net项目中注册 有关Java EE规范的文档,API和...

    Fourinone分布式计算框架

    但是FourInOne不实现JMS的规范,不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于FourInOne自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式...

    spring in action英文版

     7.4.1 使用JMS模板发送消息  7.4.2 消费消息  7.4.3 转换消息  7.5 小结 第三部分 Spring在Web层的应用  第8章 建立Web层  8.1 开始Spring MVC之旅  8.1.1 请求生命中的一天  8.1.2 配置...

    fourinone-3.04.25

    但是Fourinone不实现JMS的规范,不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于Fourinone自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式...

    Fourinone分布式并行计算四合一框架

    但是Fourinone不实现JMS的规范,不提供JMS的消息确认和消息过滤等特殊功能,不过开发者可以基于Fourinone自己去扩充这些功能,包括mq集群,利用一个独立的domain/node建立队列或者主题的key隐射,再仿照上面分布式...

    JAVA上百实例源码以及开源项目

    同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-mail账号,查询mail 服务器的会话……  还包括消息客户端程序,通过连接创建会话。创建发送者和映射消息。发送消息,同时对...

Global site tag (gtag.js) - Google Analytics