Spring ActiveMQ 整合(五): 死信队列
来源:互联网 发布:黑马程序员java毕业生 编辑:程序博客网 时间:2024/06/06 18:37
1.死信队列和回退队列的区别:
这篇文章写得非常到位:http://blog.csdn.net/coderepository/article/details/7023304
2.什么是死信队列:
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。
出现以下情况时,消息会被redelivered
A transacted session is used and rollback() is called.
出现以下情况时,消息会被redelivered
A transacted session is used and rollback() is called.
A transacted session is closed before commit is called.
A session is using CLIENT_ACKNOWLEDGE and Session.recover() is called.
当一个消息被redelivered超过maximumRedeliveries(缺省为6次,具体设置请参考后面的链接)次数时,会给broker发送一个"Poison ack",这个消息被认为是a poison pill,这时broker会将这个消息发送到DLQ,以便后续处理。
缺省的死信队列是ActiveMQ.DLQ,如果没有特别指定,死信都会被发送到这个队列。
缺省持久消息过期,会被送到DLQ,非持久消息不会送到DLQ
可以通过配置文件(activemq.xml)来调整死信发送策略。
A session is using CLIENT_ACKNOWLEDGE and Session.recover() is called.
当一个消息被redelivered超过maximumRedeliveries(缺省为6次,具体设置请参考后面的链接)次数时,会给broker发送一个"Poison ack",这个消息被认为是a poison pill,这时broker会将这个消息发送到DLQ,以便后续处理。
缺省的死信队列是ActiveMQ.DLQ,如果没有特别指定,死信都会被发送到这个队列。
缺省持久消息过期,会被送到DLQ,非持久消息不会送到DLQ
可以通过配置文件(activemq.xml)来调整死信发送策略。
具体的配合可参考:http://blog.csdn.net/fengyong7723131/article/details/52415299
3.怎么样才能将失败的消息放入死信队列呢?
我当时配置的时候,是折腾了好久,我能在界面上看到,我的testQueOne队列里面有消息,但是消费失败后,只见失败,不见他在ActiveMQ.DLQ死信队列里面出现。
看了好久。最终解决了。
解决的过程是:
①.先给activeMQ配置事务。可参考上篇文章: Spring ActiveMQ 整合(四): JMS 事务管理
②.再消费者接受消息失败后,对事物进行回滚,当文件配置的重发机制等等,执行完后,由应用发送rollback触发。
即:session.rollback();
这样就进入了死信队列,不进行这样的操作,他是不会出现在死信队列里面的。
0 0
- Spring ActiveMQ 整合(五): 死信队列
- spring activeMQ 整合(五): 死信队列
- spring activeMQ 死信队列
- ActiveMQ死信队列使用
- ActiveMQ死信队列使用
- ActiveMQ死信队列使用
- activemq 如何开启死信队列
- ActiveMQ入门教程(五) - ActiveMQ与Spring整合
- 消息队列ActiveMQ+Spring整合
- activemq 关于死信队列的配置应用
- Java消息队列-Spring整合ActiveMq
- Java消息队列-Spring整合ActiveMq
- Java消息队列-Spring整合ActiveMq
- Java消息队列-Spring整合ActiveMq
- 5、ActiveMQ入门教程(五)--Spring和ActiveMQ整合
- ActiveMQ消息队列和spring进行整合实例
- 基于spring整合activeMQ以及点对点队列的封装
- spring整合activemq消息队列之点对点模式
- 图片内容在不同分辨率下居中显示
- Hrbust 1000 A + B Problem【明天校赛加油~】
- es scroll size 设置问题
- 博客开通序
- GUI_多级菜单案例
- Spring ActiveMQ 整合(五): 死信队列
- 关于Vue.js的一些总结(1)
- JSON.parse()和JSON.stringify()
- PhpExcel的使用、示例及注意事项
- TestNG中的配置文件
- 欢迎使用CSDN-markdown编辑器
- c程序调用python脚本,python脚本中的危险分子global变量
- MySQL服务器安装完之后如何调节性能
- 人群密度估计之MCNN