我有一种情况,我正在使用消息使用者 ( javax.jms.MessageConsumer
) 从队列中读取消息。使用的会话正在使用 AUTO_ACKNOWLEDGE 模式。
根据我目前在 AUTO_ACK 模式下阅读的内容:
在自动确认中,如果消费者的 onMessage() 方法完成且没有错误,则认为消息已成功接收和处理,然后将从 JMS 服务器中删除。
我的问题是,考虑到我没有使用具有 onMessage() 方法的 MDB,而是使用前面描述的消息使用者读取消息,JMS 生产者何时将消息视为 ACK。
使用 messageConsumer 成功阅读消息后,消息是否已确认?如果在逻辑链的下游,使用相应消息的方法会抛出错误,会发生什么?到那时消息是否已经被确认?