【发布时间】:2015-03-03 01:53:50
【问题描述】:
我对我们可以允许将 JTA 事务与非 XA 数据源一起使用这一事实感到困惑。 Link to the documentation。那么 XA/非 XA 数据源之间有什么区别?我们为什么要使用 XA 数据源?
【问题讨论】:
标签: java jboss datasource jta xa
我对我们可以允许将 JTA 事务与非 XA 数据源一起使用这一事实感到困惑。 Link to the documentation。那么 XA/非 XA 数据源之间有什么区别?我们为什么要使用 XA 数据源?
【问题讨论】:
标签: java jboss datasource jta xa
XA 交易,在最一般的术语中,是一个“全局 可能跨越多个资源的事务”。非 XA 事务 总是只涉及一种资源。
XA 事务涉及协调事务管理器,具有 一个或多个数据库(或其他资源,如 JMS)都参与 单一的全局事务。非 XA 交易没有交易 协调器,并且单个资源正在完成其所有事务工作 本身(这有时称为本地事务)。
注意:以上解释摘自:theserverside (Mike Spille)
jta="true",事务自动提交。
【讨论】:
我自己也想知道这个问题(非 XA 数据源中的“使用 JTA”选项),所以我测试了几个配置。我有一个分布式事务连接到两个 MySQL 服务器。
这是我的结果。如果我有:
结果:错误“在输入元感知对象时无法加入事务。”
结果:他们不会参与分布式事务。每个都将单独提交。
结果:同#2
结果:有效!
从这些看来,“使用 JTA”选项表明如果存在 XA 数据源,它是否会参与分布式事务。
【讨论】: