分布式事务-基于X/A协议的解决方案
前言:实现该种方案,需要数据库支持X/A协议
1.引入jar包到maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jta-atomikos</artifactId>
</dependency>
2.创建数据源文件application.yml
spring:
jta:
atomikos:
datasource:
order-datasource:
xa-properties:
url: jdbc:xxxx
user: xxx
password: xxx
xa-data-source-class-name: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
dispatch-datasource:
xa-properties:
url: jdbc:xxxx
user: xxxx
password: xxxx
xa-data-source-class-name: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
3.SpringBoot appConfig.java配置
4.相关的service中配置相关的jdbc的resource,serveri的方法加上事务注解@Transactional
5.使用方式