1

我正在开发一个像这个论坛一样有多个用户的系统,我将为每个用户创建一个队列。但是,如果用户长时间没有登录,比如 3 个月,我将删除该用户的队列,换句话说,我将删除过去 3 个月内没有活动消费者的任何队列。activemq 代理可以自动完成这项工作吗?

4

1 回答 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 回答