Java ActiveMQ将过期消息移动到与失败消息不同的队列

Java ActiveMQ将过期消息移动到与失败消息不同的队列,java,activemq,Java,Activemq,我有一个用例,在这个用例中,ActiveMQ队列上可能有消息的堆积。我们的目标是先执行优先级更高、更新的消息。早于一段时间的高优先级消息应以较低的优先级执行 据我所知,JMS选择器不支持NOW()的概念;(即) jmstiestamp

我有一个用例,在这个用例中,ActiveMQ队列上可能有消息的堆积。我们的目标是先执行优先级更高、更新的消息。早于一段时间的高优先级消息应以较低的优先级执行

据我所知,JMS选择器不支持NOW()的概念;(即)

jmstiestamp
我读了一篇关于使用过期时间的建议。据我所知,过期消息与失败消息进入同一队列。是否有一种方法可以让过期邮件先移动到另一个队列(queue.a),然后再移动到失败邮件(DLQ)


谢谢。

在ActiveMQ 5.x中,我无法使用标准的代理配置选项集来实现这一点。也就是说,您可以编写自己的BrokerPlugin,通过截取过期消息并将其发送到其他地方来完成这些工作

如果您使用的是ActiveMQ Artemis,那么您可以通过将其配置为执行所需的操作来非常轻松地执行此操作,并且地址配置允许您处理此场景

JMSTimestamp < NOW() - 30 MINUTES