ActiveMQ定时删除过期的Topic和Queue

<broker xmlns="http://activemq.apache.org/schema/core" schedulePeriodForDestinationPurge="10000">
    <destinationPolicy>
        <policyMap>
            <policyEntries>
            <policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
            </policyEntries>
        </policyMap>
    </destinationPolicy>     
</broker>

实现定时自动清理无效的Topic和Queue需要设置三个属性。
schedulePeriodForDestinationPurge执行清理任务的周期,
gcInactiveDestinations=”true”启用清理功能
inactiveTimoutBeforeGC=”30000” Topic或Queue超时时间
在规定的时间内,无有效订阅,没有入队记录,超时后就会被清理

但是有个问题:如果有10个订阅者,9个offline,queue和TOPIC是不会删除的。

转自:http://my.oschina.net/csen66/blog/88193

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