我正在开发一个像这个论坛一样有多个用户的系统,我将为每个用户创建一个队列。但是,如果用户长时间没有登录,比如 3 个月,我将删除该用户的队列,换句话说,我将删除过去 3 个月内没有活动消费者的任何队列。activemq 代理可以自动完成这项工作吗?
问问题
1332 次
1 回答
1
是的你可以。但是您将删除已经空了一段时间的队列,而不是没有消费者的队列。
三个 monts 似乎清理队列的时间很长,您可能希望在几小时或几分钟内清理,因为队列实际上在代理内部分配资源。
<broker xmlns="http://activemq.apache.org/schema/core" schedulePeriodForDestinationPurge="10000">
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
</policyEntries>
</policyMap>
</destinationPolicy>
</broker>
于 2013-10-12T21:06:35.093 回答