首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jta=为“true”的nonXADatasource和XADataSource有什么区别?

问Jta=为“true”的nonXADatasource和XADataSource有什么区别?
EN

Stack Overflow用户
提问于 2015-01-05 21:55:27
回答 2查看 31.2K关注 0票数 21

我被一个事实弄糊涂了,因为我们允许将JTA事务用于非XA数据源。Link to the documentation。那么XA/非XA数据源之间的区别是什么呢?我们为什么要使用XA数据源呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-06 13:44:24

XA事务,在最一般的术语中,是一个可能跨越多个资源的“全局事务”。非XA事务始终只涉及一种资源。

一个XA事务涉及一个协调事务管理器,一个或多个数据库(或其他资源,如JMS)都包含在单个全局事务中。非XA事务没有事务协调器,由单个资源自己完成其所有事务工作(有时称为本地事务)。

注:以上解释来自:theserverside (Mike Spille)

Jta=为“true”,事务自动提交。

票数 35
EN

Stack Overflow用户

发布于 2015-01-17 09:20:37

我自己也想知道这一点(“在非XA数据源中使用JTA”选项),所以我测试了几种配置。我有一个分布式事务连接到两个MySQL服务器。

这是我的结果。如果我有:

  1. 两个非XA数据源,都有JTA="true"

结果:错误“无法在进入元感知对象时在事务中登记”。

  1. 两个非XA数据源,其中一个是JTA="true"

结果:它们不会参与分布式事务。每个都将单独提交。

  1. One XA和one non-XA with JTA="false",

结果:与#2相同

  1. 一个是XA,一个是非XA,JTA=为“true”。

结果:成功了!

从这些看起来,"use JTA“选项表明如果有XA数据源,它是否会参与分布式事务。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27781024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档