我被一个事实弄糊涂了,因为我们允许将JTA事务用于非XA数据源。Link to the documentation。那么XA/非XA数据源之间的区别是什么呢?我们为什么要使用XA数据源呢?
发布于 2015-01-06 13:44:24
XA事务,在最一般的术语中,是一个可能跨越多个资源的“全局事务”。非XA事务始终只涉及一种资源。
一个XA事务涉及一个协调事务管理器,一个或多个数据库(或其他资源,如JMS)都包含在单个全局事务中。非XA事务没有事务协调器,由单个资源自己完成其所有事务工作(有时称为本地事务)。
注:以上解释来自:theserverside (Mike Spille)
Jta=为“true”,事务自动提交。
发布于 2015-01-17 09:20:37
我自己也想知道这一点(“在非XA数据源中使用JTA”选项),所以我测试了几种配置。我有一个分布式事务连接到两个MySQL服务器。
这是我的结果。如果我有:
结果:错误“无法在进入元感知对象时在事务中登记”。
结果:它们不会参与分布式事务。每个都将单独提交。
结果:与#2相同
结果:成功了!
从这些看起来,"use JTA“选项表明如果有XA数据源,它是否会参与分布式事务。
https://stackoverflow.com/questions/27781024
复制相似问题