Spring 启动的 XADataSourceAutoConfiguration 与 AtomikosJtaConfiguration

Spring boot's XADataSourceAutoConfiguration vs AtomikosJtaConfiguration

我正在尝试了解 XADataSourceAutoConfigurationAtomikosJtaConfiguration 以及更普遍的 **JtaConfiguration 的关系。

更具体地说,下面两个 类 是如何相互关联的:

org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration
org.springframework.boot.autoconfigure.transaction.jta.AtomikosJtaConfiguration

我需要一个 spring 引导 spring 批处理应用程序来参与涉及两个数据库的事务。

有人可以告诉我这两个 类 之间有什么关系吗?

我无法在 javadocs API 或有关 XADataSourceAutoConfiguration.

的参考文档中找到很多文档

XADataSourceAutoConfiguration 负责获取 XADataSource 并应用特定于事务管理器的包装器。该包装器是在任何 XA 事务中登记数据源的方式。

AtomikosJtaConfiguration 负责配置 Atomikos,包括提供特定于 Atomikos 的 XADataSource 包装器,以确保 Atomikos 了解 XADataSource 并将其纳入任何 XA 事务。