activemq 关于死信队列的配置应用
来源:互联网 发布:ipone卡通贴图软件 编辑:程序博客网 时间:2024/06/06 18:13
需求场景:
由于测试环境应用复杂的原因,造成了jms死信队列一直挤压很多数据,从而导致存储爆满,进而造成了各个客户端不能正常发送消息。针对这些死信队列,一般都没有利用价值的。
为了避免某队列的死信队列的挤压,而使整个jms不可用,我们选择了通过ActiveMQ的配置,直接丢弃掉死信队列的消息。缺省死信队列(Dead Letter Queue)叫做ActiveMQ.DLQ所有的未送达消息都会被发送到这个队列,以致会非常难于管理。
所以我们为了防止内存挤压导致mq不可用的情况发生,就需要对死信进行配置。可以通过配置文件(activemq.xml)来调整死信发送策略。
一些配置策略:
1. 不使用缺省的死信队列
缺省所有队列的死信消息都被发送到同一个缺省死信队列,不便于管理。可以通过individualDeadLetterStrategy或sharedDeadLetterStrategy策略来进行修改。如下:
<broker> <destinationPolicy> <policyMap> <policyEntries> <!— 设置所有队列,使用 '>' ,否则用队列名称 --> <policyEntry queue=">"> <deadLetterStrategy> <!-- queuePrefix:设置死信队列前缀 useQueueForQueueMessages: 设置使用队列保存死信,还可以设置useQueueForTopicMessages,使用Topic来保存死信 --> <individualDeadLetterStrategy queuePrefix="DLQ." useQueueForQueueMessages="true" /> </deadLetterStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> ...</broker>
2. 非持久消息保存到死信队列
<policyEntry queue=">"> <deadLetterStrategy> <sharedDeadLetterStrategy processNonPersistent="true" /> </deadLetterStrategy> </policyEntry>
3. 过期消息不保存到死信队列
<policyEntry queue=">"> <deadLetterStrategy> <sharedDeadLetterStrategy processExpired="false" /> </deadLetterStrategy> </policyEntry>
4. 持久消息不保存到死信队列
对于过期的,可以通过processExpired属性来控制,对于redelivered的失败的消息,需要通过插件来实现如下:丢弃所有死信
<beans>
<broker> <plugins> <discardingDLQBrokerPlugin dropAll="true" dropTemporaryTopics="true" dropTemporaryQueues="true" /> </plugins> </broker> </beans>
阅读全文
0 0
- activemq 关于死信队列的配置应用
- ActiveMQ中关于死信的相关配置
- ActiveMQ死信队列使用
- spring activeMQ 死信队列
- ActiveMQ死信队列使用
- ActiveMQ死信队列使用
- activemq 如何开启死信队列
- Spring ActiveMQ 整合(五): 死信队列
- spring activeMQ 整合(五): 死信队列
- 关于ActiveMQ的配置
- 关于ActiveMQ的配置
- 关于ActiveMQ的配置
- 关于ActiveMQ的配置
- ActiveMQ的消息重发与死信管理(DLQ)
- ActiveMQ的消息重发与死信管理(DLQ)
- ActiveMQ的消息重发与死信管理(DLQ)
- ActiveMQ的消息重发与死信管理(DLQ)
- ActiveMQ的消息重发与死信管理(DLQ)
- ConstraintLayout布局 居中|居右 实现。
- 数颜色 (二分查找 主席树)
- 快速排序与堆排序
- C++风格_列表初始化
- 索引的基本概念、分类、优点、使用
- activemq 关于死信队列的配置应用
- html中article、section、aside的区别与联系
- 使用 PHP 直接在共享内存中存储数据集
- pandas使用技巧
- Spring MVC框架的搭建
- 各种浏览器的Hack写法(chrome firefox ie等)
- 原生js实现ajax方法
- 数据库防注入
- 添加数据 过滤重复