Retro Eye care Haitian Deep Dark Default

Bitronix Transaction

background

Apache ShardingSphere provides XA transactions that integrate with the Bitronix implementation.

Prerequisites

Introducing Maven dependency

<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>

<!-- This module is required when using XA transactions -->
<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>

Procedure

  1. Configure the XA transaction type
  2. Configure Bitronix

Sample

Configure the XA transaction type

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>

Configure Bitronix (Deletable)

See Bitronix’s Official Documentation for more details.