docker配置activemq队列消息自动清除机制

activemq消息常见清除方式,
1.通过可视化客户端手动清理
2.通过终端手动清理
3.通过配置,自动清理
topic和queue上的消息堆积无消费或者其他情况,容易造成activemq异常甚至消息过多导致内存崩溃,所以需要定时清除一些没有活动或者活动极少和死信

因为activemq装在docker中,我们本次使用docker命令,设置配置文件
工具:xshell
1.docker ps -a 找到在运行的activemq容器id
2.docker exec -it 容器id /bin/bash 进入容器
3.cd conf/ 进入配置文件activemq.xml所在文件夹(我的进来conf就在下一层)
4.vim activemq.xml
5.增加如下配置,斜体处(policyEntry queue或者topic都是一样的)

<broker xmlns="http://activemq.apache.org/schema/core" schedulePeriodForDestinationPurge="10000">

    <destinationPolicy>
       <policyMap>
          <policyEntries>
             <policyEntry topic=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
          </policyEntries>
       </policyMap>
    </destinationPolicy>
        
</broker>

参数说明:
schedulePeriodForDestinationPurge:10000 每十秒检查一次,默认为0,此功能关闭
gcInactiveDestinations: true 删除掉不活动队列,默认为false
inactiveTimoutBeforeGC:30000 不活动30秒后删除,默认为60秒

6保存后退出ctrl+p+q,退出容器继续保持后台运行
7.docker restart 容器id

进入8161界面就可以看到toipc被自动清理了

注:最好通过配置文件映射,否则服务重启会导致容器中修改的配置被重置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值