Java 如何通过使用SpringJMS引发异常来删除MQ中的消息
我正在使用SpringJMS messageListenerContainer来侦听消息。当发生错误时,我想抛出一个异常并停止从MQ删除消息。我只想对MQ使用自动确认会话。我怎样才能做到这一点?应该引发什么样的异常,以便消息不会从MQ中删除并再次重新发送?我们的项目中也有类似的要求。虽然我们使用IBMWMQ,但这将让您了解如何实现这一点Java 如何通过使用SpringJMS引发异常来删除MQ中的消息,java,spring,jms,Java,Spring,Jms,我正在使用SpringJMS messageListenerContainer来侦听消息。当发生错误时,我想抛出一个异常并停止从MQ删除消息。我只想对MQ使用自动确认会话。我怎样才能做到这一点?应该引发什么样的异常,以便消息不会从MQ中删除并再次重新发送?我们的项目中也有类似的要求。虽然我们使用IBMWMQ,但这将让您了解如何实现这一点 阅读来自MQ的消息,如#Queue1。我所说的阅读是指提取(阅读和删除),而不仅仅是浏览信息 在处理消息时,如果发生任何错误,则将消息推送到其他队列,如#Que
这就是在出现错误或异常时,我们如何一次又一次地重播同一消息。使用
自动确认
模式,消息在发送到应用程序后会自动从队列中删除
使用@user2004685建议的中间队列需要额外的管道。我建议使用事务处理会话。接收事务下的消息,如果处理消息时出现任何错误,请调用rollback()
,以便可以重新传递消息