`
y806839048
  • 浏览: 1080854 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

activemq ack机制

阅读更多

 

1,同步,异步ack---消费端,服务端

2,ack立即确认,ack在优化的情况下阈值确认

3,ack模式,类型---重发,删除时机

 

 

 

 

发送端:

 

1,同步可以设置为异步,不需要等待 broker ack 生产端

 

2,队列满了之后就用游标

 

3,组合消息目的

 

发送端的重发需要硬编码

 

 

broker  协调端  ---响应ack:

 

 

协调端的重发送,根据ack类型自动不断重发---消费端选择手动ack的时候就需要接到消息,硬编码ack

 

 

 

 

接收端:

 

1,消息镜像队列---监控队列中所有经过的消息

 

 

2,消费端没有正常接受,  消费端 不同的 ack  broker会有不同的反应---例如:broker重发,broker取消删除队列消息,只有消费端才有多种ack模式

消费端的ack也分同步异步

 

 

ack模式是active-- session共享的,一旦制定所有的消费者都用此消费模式,每种ack模式下有不同的ack类型(服务会根据不同的响应在确定的模式下给出不同的类型)

一般是没有异常就是正确的确认类型,有异常抛出就是用类似需要重发的确认类型(try-catch可以控制即使出错也不重发)

 

 

CLIENT_ACKNOWLEDGE : 客户端手动确认 ,可以控制确认的时机,例如只有当正确消费后才确认

 

 

optimizeAcknowledge  ---是否开启优化

 

有ack就是消息到达网络是通的,至于具体是否成功处理就是需要具体的ack模式和类型处理

 

不开启即同步----就是立即确认(只是收到确认,不是处理成功确认,直到acknowledge才是消费成功)

 

 

开启优化之后才能设置ack模式,有了ack模式之后遇到具体的情况做具体的ack类型反馈,即使不立即确认也会在达到阈值后acknowledge,在acknoledge时

会把目前为止所有正确消费的消息确认

 

 

 

 

 

开始方式一:

 

    1) 在brokerUrl中增加如下查询字符串:   

 

String brokerUrl = "tcp://localhost:61616?" +   

                   "jms.optimizeAcknowledge=true" +   

                   "&jms.optimizeAcknowledgeTimeOut=30000" +   

                   "&jms.redeliveryPolicy.maximumRedeliveries=6";  

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(brokerUrl);  

 

 

    2) 在destinationUri中,增加如下查询字符串:

 

 

 

Java代码  收藏代码

String queueName = "test-queue?customer.prefetchSize=100";  

Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);  

Destination queue = session.createQueue(queueName);  

 

 

在事物型的消息中事物提交就是acknowledge

 

 

 

 

重发的消息1,存在硬盘上的,2管道中未acknowledge的消息

 

消费端有最大的容量,超出不再接收,假死,当然在达到prefech阈值之前会自动acknowledge(prefech就是为了批量push给消费端)

 

DUPS_OK_ACKNOWLEDGE :

 

AUTO_ACK + optimizeACK + (prefetch > 0)=自动确认+开启优化+获取阈值>0----批量acknowledge(阈值确认)

 

AUTO_ACK----直接acknowledge,来一条确认一条

 

超过了重发的次数就放入dead letter

 

参考:

https://blog.csdn.net/zhu_tianwei/article/details/46303535

 

http://shift-alt-ctrl.iteye.com/blog/2020182

分享到:
评论

相关推荐

    ActiveMQ消息传送机制以及ACK机制详解

    AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的...随着ActiveMQ的不断发展,支持了越来越多的特性,也解决开发者在各种场景下使用ActiveMQ的需求。比如produce

    springboot整合activemq 消费者 ACK手动确认 &消息重发

    springboot整合 activeMq 消费者 消费接收消息 包含队列模式点对点发 以及 主题模式一对多 这是消费者的demo consumer 。...里面有消息重发机制,手动确认ACK模式。 配合 producer 生产者demo使用。

    springboot整合activeMq的使用,队列,主题,消息手动确认,重发机制

    springboot整合activeMq的使用,队列,主题,消息手动确认,重发机制

    ActiveMQ消息签收机制代码实例详解

    主要介绍了ActiveMQ消息签收机制代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    activemq新手大全

    一、JMS基本概念 二、activemq介绍及安装 1、消息中间件简介 2、activemq 2.1、activemq简介 2.2、activemq下载 2.3、运行activemq服务 2.4、测试 2.5、监控 3、activemq特性 ...5.3 activemq 持久化机制

    activemq activeMq笔记

    activemq activeMq笔记.docx

    ActiveMQ的安全机制使用及其源代码分析

    最近在项目开发中,需要为ActiveMQ开发基于IP的验证和授权机制,因此,对ActiveMQ的安全机制进行了了解,以下将介绍ActiveMQ的安全机制使用及其源代码分析。操作系统:WindowsXPJava:jdk1.6.0_12maven:maven3.0.4...

    C#,activemq,mq

    C#客户端开发ActiveMq 所需要的两个dll动态库 Apache.NMS,版本1.6.0 Apache.NMS.ActiveMQ,版本1.6.4

    ActiveMQ持久化机制代码实例

    主要介绍了ActiveMQ持久化机制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    为activemq服务器添加简单验证机制

    为activemq服务器添加简单验证机制 ,老话重提,学习jms和activemq的资料之一,不是必看的,不过了解下最好

    apache-activemq Linux版本

    apache-activemq Linux版本

    activeMQ收发工具.rar

    activeMQ的测试工具,用于发送和接收activeMQ消息,jar包形式的,安装完jdk之后用java -jar xxx.jar命令运行

    activemq, Apache ActiveMQ镜像.zip

    activemq, Apache ActiveMQ镜像 欢迎来到 Apache ActiveMQis是一个高性能的Apache 2.0许可以消息代理和 JMS 1.1实现。正在启动要帮助你入门,请尝试以下链接:入门http://activemq.apache.org/version-

    ActiveMQ集群解析

    ActiveMQ集群解析,详细讲解了详细中间件原理以及使用方法,非常基础的视频!!!

    ActiveMQ高并发处理方案

    ActiveMQ高并发处理方案ActiveMQ高并发处理方案 超级字数补丁超级字数补丁

    springboot-nettysocketio +netty+activeMq在线客服系统

    springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot +netty+activeMq在线客服系统springboot...

    activemq

    最新activemq-cpp开发手册!

    activemq书籍及工具

    activemq书籍及工具 activemq书籍及工具 activemq书籍及工具 activemq书籍及工具 activemq书籍及工具

    JMS事例,ActiveMQ服务器

    java开发实现JMS通信机制 服务器为 ActiveMQ java开发实现JMS通信机制 服务器为 ActiveMQ java开发实现JMS通信机制 服务器为 ActiveMQ

Global site tag (gtag.js) - Google Analytics