1

我想自动删除队列中在指定时间内处于非活动状态的所有消息(当时没有新消息到达)。

我不想从代码中显式清空队列,也不想显式调用 purge ,如此所述。

这里描述的配置也不适合我的情况,因为它只会自动删除空队列,而我的队列不是空的。

是否有任何已知的 ActiveMQ 配置可以自动执行该任务?

4

1 回答 1

3

我从来没有这样的要求,我不知道 activemq 中是否存在这样的功能,但是,有两个选项您可能会感兴趣:

1)如果您想清除非活动队列上的消息,因为它们不再相关,您可以设置每条消息的生存时间(生产者端的 setTimeToLive() 方法)

2)如果您需要确切的行为,那么您可以开发自己的插件。实际上,activemq 代理是相当可扩展的(参见:http ://activemq.apache.org/developing-plugins.html )

希望能帮助到你。

于 2016-05-06T15:57:23.890 回答