> For the complete documentation index, see [llms.txt](https://jack80342.gitbook.io/spring-boot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jack80342.gitbook.io/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.6-supporting-an-alternative-embedded-transaction-manager.md).

# 37.6 支持可替代的内嵌事务管理器

[XAConnectionFactoryWrapper](https://github.com/spring-projects/spring-boot/tree/v2.0.0.RELEASE/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jms/XAConnectionFactoryWrapper.java)和[XADataSourceWrapper](https://github.com/spring-projects/spring-boot/tree/v2.0.0.RELEASE/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/XADataSourceWrapper.java)接口用于支持可替换的内嵌事务管理器。该接口用于包装`XAConnectionFactory`和`XADataSource` beans，并将它们暴露为普通的`ConnectionFactory`和`DataSource` beans，这样在分布式事务中可以透明使用。Spring Boot将使用注册到`ApplicationContext`的合适的XA包装器及`JtaTransactionManager` bean自动配置你的DataSource和JMS。

[BitronixXAConnectionFactoryWrapper](https://github.com/spring-projects/spring-boot/tree/v2.0.0.RELEASE/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jta/bitronix/BitronixXAConnectionFactoryWrapper.java)和[BitronixXADataSourceWrapper](https://github.com/spring-projects/spring-boot/tree/v2.0.0.RELEASE/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jta/bitronix/BitronixXADataSourceWrapper.java)提供很好的示例用于演示怎么编写XA包装器。
