本文讲述activemq的消息清理方法:

  1. 配置法
  2. 命令行

purge和delete有什么区别呢

我们看到管理界面的queue里有purge和delete,而且注意:只有queue有purge

他们的区别很简单:

  • purge: 只是清空队列里的消息,并把消息放入已经出队里
  • delete: 删除这个queue,在列表里会消失

为什么要删除过期的queue或topic?

因为,如果不删除不仅占空间,而且堆积太多会导致管理界面卡顿。

通过配置定时清理

官方文档:http://activemq.apache.org/delete-inactive-destinations

配置有以下几个:

  1. schedulePeriodForDestinationPurge="60000",代表每60秒清理一次,默认为0
  2. gcInactiveDestinations="true",代表回收不活跃目标,默认是false
  3. inactiveTimeoutBeforeGC="30000",当目标限制30秒删除,默认60秒
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" useJmx="true" dataDirectory="${activemq.data}" schedulePeriodForDestinationPurge="60000"><destinationPolicy><policyMap><policyEntries><policyEntry topic=">" ><pendingMessageLimitStrategy><constantPendingMessageLimitStrategy limit="1000"/></pendingMessageLimitStrategy></policyEntry><policyEntry queue=">" gcInactiveDestinations="true" inactiveTimeoutBeforeGC="30000"/></policyEntries></policyMap></destinationPolicy>

结果示例:

2020-04-07 16:09:16,619 | INFO  | 0c2f8e32-3a4b-449a-807f-086012425188 Inactive for longer than 30000 ms - removing ... | org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler
2020-04-07 16:09:16,620 | INFO  | b3004cb2-d625-44e3-b18a-33e857a6b69d Inactive for longer than 30000 ms - removing ... | org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler
2020-04-07 16:09:16,621 | INFO  | 32d7e194-15ba-458b-a4f9-91a41d37fb32 Inactive for longer than 30000 ms - removing ... | org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler
2020-04-07 16:09:16,622 | INFO  | 8ffa6724-0ec9-4128-93bb-0955e0066a8c Inactive for longer than 30000 ms - removing ... | org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler

命令行清理

purge是清理,比如清理一个queue的所有或部分消息

# bin/activemq purge 00015a7f-5bc4-4a76-aab3-366dee279320...
INFO: Purging all messages in queue: 00015a7f-5bc4-4a76-aab3-366dee279320

正则匹配删除:可以选择性地清理某些queue/topic里满足条件地message:

Examples:Main purge FOO.BAR- Delete all the messages in queue FOO.BARMain purge --msgsel "JMSMessageID='*:10',JMSPriority>5" FOO.*- Delete all the messages in the destinations that matches FOO.* and has a JMSMessageID inthe header field that matches the wildcard *:10, and has a JMSPriority field > 5 in thequeue FOO.BAR.SLQ92 syntax is also supported.* To use wildcard queries, the field must be a string and the query enclosed in ''Use double quotes "" around the entire message selector string.

比如:清理000开始的queue的消息

# bin/activemq purge 000*

命令行我没找到删除功能,通过上面的配置可以定时移除。

activemq消息清理相关推荐

  1. ActiveMQ—消息特性(延迟和定时消息投递)

    ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article ...

  2. 【转】ActiveMQ消息传送机制以及ACK机制详解

    2019独角兽企业重金招聘Python工程师标准>>> 本文转载自 http://shift-alt-ctrl.iteye.com/blog/2020182 AcitveMQ是作为一 ...

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

    2019独角兽企业重金招聘Python工程师标准>>> AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全 ...

  4. activemq消息持久化_ActiveMQ 5.x中的消息持久性

    activemq消息持久化 我被问了很多关于ActiveMQ如何存储消息(或在某些情况下不存储)的基本知识. 这是它的高级解释. 注意,上下文在JMS中. 如果您使用ActiveMQ的非JMS客户端( ...

  5. activemq消息持久化_将ActiveMQ持久消息传递性能提高25倍

    activemq消息持久化 Apache ActiveMQ,JBoss A-MQ和Red Hat Apache ActiveMQ是一个非常受欢迎的开源消息传递代理,由创建(和从事) Apache Ka ...

  6. ActiveMQ消息优先级:工作原理

    关于ActiveMQ的消息优先级支持 , 邮件列表上通常会不断出现一些问题,以及有关观察到的行为和"真正支持什么"的好问题? 我希望可以帮助您了解幕后情况以及可以支持的优先级. 详 ...

  7. JMS学习六(ActiveMQ消息传送模型)

    JMS学习六(ActiveMQ消息传送模型) ActiveMQ 支持两种截然不同的消息传送模型:PTP(即点对点模型)和Pub/Sub(即发布 /订阅模型),分别称作:PTP Domain 和Pub/ ...

  8. JMS学习八(ActiveMQ消息持久化)

    JMS学习八(ActiveMQ消息持久化) ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,还有一种内存存储的方式,由于内存不属于持久化范畴,而且如果使用内存队列,可 ...

  9. SpringBoot集成ActiveMq消息队列实现即时和延迟处理

    原文链接:https://blog.csdn.net/My_harbor/article/details/81328727 一.安装ActiveMq 具体安装步骤:自己谷歌去 二.新建springbo ...

最新文章

  1. 37、Django实战第37天:404以及500页面配置
  2. Oracle 不使用DBCA在Oracle 11中删除数据库
  3. Web页面获取用户控件页面中服务器控件的值
  4. REDIS 字典数据结构
  5. php创建windos用户,window_Win7系统创建及开启隐藏账户图文教程,  在电脑操作中有时候因为 - phpStudy...
  6. python常用类型转换の方法
  7. Dubbo学习总结(3)——Dubbo-Admin管理平台和Zookeeper注册中心的搭建
  8. “更高效 更自由 更开放”—— 艺赛旗RPA9.0重磅来袭
  9. Fleet究竟是什么?为什么最近这么火~
  10. python支持函数式编程吗_利用Fn.py库在Python中进行函数式编程
  11. 英语面试功略:英语口语突击法
  12. ELK下常见启动错误
  13. GIS案例练习-----------第二天
  14. 过滤器Filter与监听器Listener
  15. 阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
  16. C++:vector二维数组初始化
  17. 计算机键盘没有fn,键盘Fn键失灵怎么解决?键盘Fn键失灵的修复方法
  18. 什么是组合(Composition),有什么作用
  19. windows10专业版镜像
  20. CorelCAD 2018 for Mac中文破解版永久激活方法

热门文章

  1. Windows系统盘瘦身
  2. OWASP-安全编码规范
  3. 三元运算 微信小程序_微信小程序 三元运算符 条件语句if和循环语句for(三目运算+hidden)...
  4. 关于8杯酒只有一杯酒有毒,每个人是否中毒只能化验一次,至少需要几个人辨识。...
  5. java poi 追加_使用POI 向Excel中追加数据
  6. 京东登月机器学习平台 团队_发展您的安全团队并让机器人来完成工作
  7. 中e管家如何让理财收益最大化
  8. 云计算效果如何,Mixpanel现身说法
  9. P7939 [B1] Alice Wins(easy version)
  10. qcom 音频相关的dsp driver笔记(基于msm8996平台)