Fetch message from ActiveMQ queue without dequeueing

Mic*_*l A 4 java activemq-classic jms

I am taking messages from ActiveMQ queue and running a Java application which can succeed or fail.

如果应用程序失败,我希望消息保留在队列中,即保持它不会出列.

有没有办法从队列中自动删除消息?

是否有从队列中取出或从队列中删除的原子操作?

谢谢.

mbe*_*low 7

禁用消息的自动确认,然后在工作完成后手动调用message.acknowledge().如果抛出异常并因此未调用message.acknowlege(),则AMQ将尝试再次传递消息.如果所有尝试都失败,则消息最终放在死信队列中.可以配置此行为.