java - 数据源、XADataSource 和 JTA

标签 java jpa jdbc transactions datasource

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

谢谢

最佳答案

我能够理解阅读 JTA 规范前后的内容,它说:

当存在多种跨国资源时,例如参与 JTA 的数据源、JMS 队列等都必须是 XA 兼容的。当存在单个资源时,条件不一定成立,意味着它可能符合 XA 标准,也可能不符合 XA 标准;

关于java - 数据源、XADataSource 和 JTA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37703584/

相关文章:

java - 尽管添加了驱动程序的 JAR 文件,但 JDBC 程序中仍出现 ClassNotFoundException

java - 如何从java将数据CLOB和BLOB类型发送到数据库

java - JPA - @Column (unique=true) - 拥有 'unique' 属性的真正意义是什么?

java - JPA - 检查另一个表中是否存在 boolean 值值

java - 我尝试在 mysql 表中插入数据

java - 在 doFinal() 中使用二进制数据 - javax.crypto.Cipher

java - 在android中将引用作为参数传递

java - 检查链表元素是否存在

java - TomEE 因太多 @Asynchronous 操作而窒息

总结其他注解的Java注解