ActiveMQ配置自动清除数据

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vtopqx/article/details/51788065


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


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

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


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



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


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


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


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



没有更多推荐了,返回首页