不消费消息时如何清除activemq队列
How clean activemq queue when messages are not cunsumed
我在 Java 应用程序中使用 ActiveMQ。我正在使用一个复合队列,在每个队列中我们都使用物理队列。
是否有一种方法可以超时,如果一条消息在特定时间范围内未被使用,它就会被删除?
我的问题是一些应该使用消息的组件并不总是工作,因此我的磁盘变得越来越大。
处理此问题的标准 spec-compliant 方法是使用 javax.jms.MessageProducer#setTimeToLive
方法告诉代理只将消息保留一段时间。
如果您不想更改您的代码,那么您可以让经纪人来完成这项工作。在 ActiveMQ 5.x 你可以使用 time stamp plugin. In ActiveMQ Artemis you can use the expiry-delay
address-setting
.
我在 Java 应用程序中使用 ActiveMQ。我正在使用一个复合队列,在每个队列中我们都使用物理队列。
是否有一种方法可以超时,如果一条消息在特定时间范围内未被使用,它就会被删除?
我的问题是一些应该使用消息的组件并不总是工作,因此我的磁盘变得越来越大。
处理此问题的标准 spec-compliant 方法是使用 javax.jms.MessageProducer#setTimeToLive
方法告诉代理只将消息保留一段时间。
如果您不想更改您的代码,那么您可以让经纪人来完成这项工作。在 ActiveMQ 5.x 你可以使用 time stamp plugin. In ActiveMQ Artemis you can use the expiry-delay
address-setting
.