ActiveMQ - 自动删除 incative 队列中的所有消息

ActiveMQ - Automatically delete all messages from incative queue

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

我不想从代码中显式清空队列,也不想按照 here 所述显式调用清除。

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

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

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

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

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

希望对您有所帮助。