ActiveMQ 自动删除功能

备注:(删除不活动的队列(Delete Inactive Destinations))


一般情况下,ActiveMQ的Topic和Queue在不使用之后,可以通过web控制台或是JMX方式来删除掉。
当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。
实现定时自动清理无效的Topic和Queue需要设置三个属性。
activemq.xml配置如下:
在<broker>节点上新增:

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

  2.  
  3.  
  4. <destinationPolicy>

  5. <policyMap>

  6. <policyEntries>

  7. <policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>

  8. </policyEntries>

  9. </policyMap>

  10. </destinationPolicy>

  11.  
  12. </broker>


 

 


schedulePeriodForDestinationPurge:10000  每十秒检查一次,默认为0,此功能关闭


gcInactiveDestinations: true  删除掉不活动队列,默认为false


inactiveTimoutBeforeGC:30000 不活动30秒后删除,默认为60秒


由于ActiveMQ使用时自动创建Destination,并且默认情况下不会删除掉,这种只增加不减少,导致在queue创建频繁的情况下,本功能非常有用。

 

 

http://activemq.apache.org/delete-inactive-destinations.html

 

activemq定时不起作用添加相关属性

ActiveMQ from version 5.4 has an optional persistent scheduler built into the ActiveMQ message broker. It is enabled by setting the broker schedulerSupport attribute to true in the xml configuration

意思是说要在mq的xml配置文件中,broker节点处加入schedulerSupport属性,才能使mq的任务计划生效,于是,我尝试加入该属性修改activemq.xml 在<broker>里添加属性schedulerSupport="true" 重启mq后果然生效了。

网上大部人只把如果设置参数翻译过来了,但是不说如何配置,这对于我们这些菜鸟小白来说真的伤不起呀。在这个地方纠结了好久。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值