如何在保存jms消息之前将其保存在队列中?
我刚开始使用WebLogicJMS。我能够将消息发送到队列,并使用messagebean将它们发送出去。现在我想将消息保存到数据库中 所以我的问题是,如何告诉JMS在成功将消息写入数据库之前不要从队列中删除消息 谢谢 我能够向队列发送消息,并使用 messagebean 我想您是在谈论消息驱动bean() 所以我的问题是,我如何告诉JMS不要从中删除消息 等待队列,直到我将消息成功写入 数据库 MDB是隐式容器管理事务的一部分,只要您的事务尚未提交(也就是说,只要您的如何在保存jms消息之前将其保存在队列中?,jms,weblogic-10.x,Jms,Weblogic 10.x,我刚开始使用WebLogicJMS。我能够将消息发送到队列,并使用messagebean将它们发送出去。现在我想将消息保存到数据库中 所以我的问题是,如何告诉JMS在成功将消息写入数据库之前不要从队列中删除消息 谢谢 我能够向队列发送消息,并使用 messagebean 我想您是在谈论消息驱动bean() 所以我的问题是,我如何告诉JMS不要从中删除消息 等待队列,直到我将消息成功写入 数据库 MDB是隐式容器管理事务的一部分,只要您的事务尚未提交(也就是说,只要您的onMessage方法尚未结
onMessage
方法尚未结束),消息就不会被删除
在回滚的情况下(即,在MessageDrivenContext
上抛出异常或调用context.setRollbackOnly()
),消息将重新传递。您可以通过管理事务bean或使用@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
来避免这种行为,但在您的情况下不应该这样。坚持默认配置,一切都应该按照您的意愿工作