我想自动删除队列中的所有消息,这些消息在指定的时间内处于非活动状态(当时没有新的消息到达)。
我不想从代码中显式清空队列,也不想按照here所述明确调用清除。
描述here的配置也不适合我的情况,因为它只会自动删除空队列而我的队列不为空。
是否有任何已知的ActiveMQ配置可以自动执行该任务?
答案 0 :(得分:2)
我从来没有这样的请求,我不知道activemq中是否存在这样的功能,但是,您可能会对两个选项感兴趣:
1)如果要清除非活动队列上的消息,因为它们不再相关,您可以设置每条消息的生存时间(生产者端的setTimeToLive()方法)
2)如果你需要那种确切的行为,那么你可以开发自己的插件。事实上,activemq代理是相当可扩展的(参见:http://activemq.apache.org/developing-plugins.html)
希望它有所帮助。