数据源、XADataSource 和 JTA

Posted

技术标签:

【中文标题】数据源、XADataSource 和 JTA【英文标题】:DataSource ,XADataSource and JTA 【发布时间】:2016-06-08 13:15:11 【问题描述】:

我正在尝试了解 JPA 中的本地和全局事务。 在 JPA Specs 中,我发现有两种类型的事务,即 RESOURCE_LOCALJTA aka GlobalTransaction。 但是我在某处读到的参与全局事务Datasource 应该是XA-complient。 当我们在 persistence.xml 中声明 <jta-datasource> 时。它是javax.sql.DataSource 类型,不是javax.sql.XADataSource 类型,它仍然参与全局事务。它总是让我感到困惑。 请给我一个清晰的理解。

谢谢

【问题讨论】:

【参考方案1】:

我能够理解阅读 JTA Spec 之后的内容,它说:

当有多个跨国家资源时,例如参与 JTA 的数据源、JMS 队列等都必须符合 XA。当有单一资源时,条件不一定成立意味着它可能会也可能不会 XA-Complient;

【讨论】:

以上是关于数据源、XADataSource 和 JTA的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用 DataSource 而不是 XADataSource?

在 JBoss 上为 DB2 创建 XA 数据源

如何在 JBoss 中配置 ActiveMQ JCA 连接器以使用 XA 连接?

大数据和大数据开发有啥区别?

数据仓库和数据库有啥区别和联系?

比较栅格数据结构和矢量数据结构的优点和缺点?