如何自动使没有消费者的消息过期?

How do I auto expire messages that dont have a consumer?

我需要代理删除所有没有消费者等待的消息。我似乎记得这应该是默认行为,不是吗?

ativeMQ消息的生存时间有两种定义方式,如果在这个时间段内消息没有被消费,那么它就会过期。

你可以有两种方法

producer.setTimeToLive(Long timeToLiveInMilliSeconds)

以上方法将适用于来自该生产者的所有消息,或者如果您需要特定的消息,您可以这样做

producer.send(Destination destination,Message message,int deliveryMode,int priority,long timeToLive)

除此之外,没有默认配置将消息放入队列后立即删除,并且该队列没有消费者

希望对您有所帮助!

祝你好运!