如何在队列中保存jms消息直到它被保存?

我刚开始使用Weblogic JMS。我能够将消息发送到队列并使用messagebean将其关闭。现在我想将消息保存到数据库。如何在队列中保存jms消息直到它被保存?

所以我的问题是,我如何告诉JMS不要从队列中删除消息,直到成功将消息写入数据库为止?

感谢

回答:

我能够将消息发送到队列中,并用 messagebean拉他们。

我想你是在谈论消息驱动bean(MDB)?

所以我的问题是,我怎么告诉JMS不要从 队列中删除的消息,直到我已经成功地写邮件到 数据库?

MDB是隐式的容器管理的事务的一部分,并且该消息将不会被只要你的事务尚未COMMITED移除(即,只要你onMessage方法还没有达到其结束)。

如果发生回滚(即您抛出异常或致电MessageDrivenContext上的context.setRollbackOnly()),则会重新发送消息。你可以通过事务Bean管理或使用@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)来避免这种行为,但在你的情况下不应该如此。坚持默认配置,一切都应该如你所愿。

以上是 如何在队列中保存jms消息直到它被保存? 的全部内容, 来源链接: utcz.com/qa/258609.html

回到顶部