Java 为什么从XAResource引发XAException仍然不允许事务提交成功?

Java 为什么从XAResource引发XAException仍然不允许事务提交成功?,java,transactions,jta,xa,Java,Transactions,Jta,Xa,我正在尝试一些东西w/JOTM,并有一些关于如何工作的通用问题。我列出了事件的顺序,以便对所发生的事情有一个明确的总结 创建tx 登记资源 提交 资源启动 resource.end引发XA异常 资源提交 即使resource.end抛出一个XAException,tx提交仍然可以工作,这在我看来显然是错误的。如果没有将发送标记为回滚,那么抛出异常有什么意义 所有的发送管理器都是这样工作的吗?还是抛出XAException会导致发送失败?TM行为不仅取决于XAException的存在,还取决于XA

我正在尝试一些东西w/JOTM,并有一些关于如何工作的通用问题。我列出了事件的顺序,以便对所发生的事情有一个明确的总结

  • 创建tx
  • 登记资源
  • 提交
  • 资源启动
  • resource.end引发XA异常
  • 资源提交
  • 即使resource.end抛出一个XAException,tx提交仍然可以工作,这在我看来显然是错误的。如果没有将发送标记为回滚,那么抛出异常有什么意义


    所有的发送管理器都是这样工作的吗?还是抛出XAException会导致发送失败?

    TM行为不仅取决于XAException的存在,还取决于XAException错误代码。任何(符合规范的)XA_RB∗ 从末尾抛出的代码应该会导致回滚。

    在我对XA的理解中,prepare期间抛出的各种XAException都会导致XA事务的回滚

    谢谢, 尼汀