Apache ShardingSphere 提供 XA 事务,集成了 Bitronix 的实现。
引入 Maven 依赖
<properties>
<btm.version>2.1.3</btm.version>
</properties>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core</artifactId>
<version>${shardingsphere.version}</version>
</dependency>
<!-- 使用 XA 事务时,需要引入此模块 -->
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-core</artifactId>
<version>${shardingsphere.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-transaction-xa-bitronix</artifactId>
<version>${shardingsphere.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.btm</groupId>
<artifactId>btm</artifactId>
<version>${btm.version}</version>
</dependency>
Yaml:
- !TRANSACTION
defaultType: XA
providerType: Bitronix
SpringBoot:
spring:
shardingsphere:
props:
xa-transaction-manager-type: Bitronix
Spring Namespace:
<shardingsphere:data-source id="xxx" data-source-names="xxx" rule-refs="xxx">
<props>
<prop key="xa-transaction-manager-type">Bitronix</prop>
</props>
</shardingsphere:data-source>
详情请参见 Bitronix 官方文档 。