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

谢谢

最佳答案

我能够理解后来的JTA Spec,并且说:

当有多个交易资源时参与JTA的数据源,JMS队列等都必须符合XA标准。当只有一个资源时,条件不一定满足true意味着它可能符合XA,也可能不符合XA。

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

10-16 23:04