请检查这一个。
在
AUTO_ACKNOWLEDGE模式下,确认始终是
onMessage()处理程序返回后隐式发生的最后一件事。通过
CLIENT_ACKNOWLEDGE在使用会话上指定模式,接收消息的客户端可以对保证消息的传递进行更细粒度的控制。
使用
CLIENT_ACKNOWLEDGE可以使应用程序控制何时发送确认。例如,应用程序可以确认消息-从而减轻JMS提供者的职责-
并对消息表示的数据执行进一步的处理。关键是Message对象上的accept()方法,如清单1所示。
该
acknowledge()方法通知JMS提供者该消息已被消费者成功接收。如果在确认过程中发生提供者故障,则此方法会向客户端抛出异常。提供程序故障导致消息被JMS服务器保留以供重新发送。



