gpt4 book ai didi

JMS回滚

转载 作者:行者123 更新时间:2023-12-04 05:15:48 26 4
gpt4 key购买 nike

我有一个涉及发送JMS消息的过程。
该过程是交易的一部分。
如果事务的后半部分失败(在发送该消息的上一个部分之后),则我需要取消该消息。
我曾经想过要以某种方式在消息上设置它在一段时间内不被接收,如果我需要回滚,则可以去取消该消息。
不知道消息,不知道这个想法是否可行。
还是有更好的主意?
谢谢

最佳答案

您可以将JMS和JTA(Java事务API)一起使用-see here。这样做时,JMS消息的发送或接收消息的消耗实际上是原子地作为事务提交的一部分发生的。

这是什么意思?如果事务失败或回滚,则“已发送”消息不会消失,也不会真正消耗任何“已接收”消息。所有这些都由您的JMS和JTA提供者处理。

您需要使用支持JTA的JMS实现。听起来您已经在使用事务,因此可能需要做一些配置才能使其实现(大力挥手……)。

我曾经有过使用该软件的经验(带有BEA WebLogic Integration的BEA WebLogic 7)。按照广告宣传的方式工作-除非交易成功完成,否则“外界”不会看到我尝试过的JMS东西的影响。

关于JMS回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/517100/

26 4 0