源码福利----分布式事务操作之Spring+JTA+mybatis
Posted 畅聊架构
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码福利----分布式事务操作之Spring+JTA+mybatis相关的知识,希望对你有一定的参考价值。
一、技术背景
在项目中需要操作多个数据库,同时,需要保证操作的原子性,保证对多个数据库的操作一致性,而传统的JDBC事务被限定在一个单一的数据库连接中,故引用JTA,即Java Transaction API。JTA事务比JDBC事务更强大,一个JTA事务可以有多个数据源参与者。
现在,我们用spring+jta+mybatis来完成基本的测试框架。
二、技术实现
第一步:导入JOTM Jar包
<dependency>
<groupId>org.ow2.jotm</groupId>
<artifactId>ow2-jotm-dist</artifactId>
<version>2.2.1</version>
<type>pom</type>
<scope>compile</scope></dependency>
第二步:创建JotmFactoryBean
spring为JOTM提供了一个org.springframework.transaction.jta.JotmFactoryBean支持类,通过该支持类可以方便地创建JOTM本地实例。但是spring3以后spring-tx.jar 没有JotmFactoryBean的支持,可以反编译spring2.5的spring-tx.jar,copy新建一个类。
第三步:创建DAO
创建基于mybatis框架的DAO接口和实现类。
IBaseDao
BaseDaoImpl
第四步:XML配置
由于太多不好贴,继续往下看,有惊喜哦!
第五步:测试
在后台测试分布式事务管理:
在indexWeb、dmcWeb库中创建测试表,并插入测试数据,配置:
分布式事务操作之Spring+JTA+mybatis源码下载地址:
链接:http://pan.baidu.com/s/1hr5Ga1I 密码:wbjx
看完本文有收获?请转发分享给更多人
欢迎关注“畅聊架构”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。
以上是关于源码福利----分布式事务操作之Spring+JTA+mybatis的主要内容,如果未能解决你的问题,请参考以下文章
Spring 源码分析之事务2 TransactionStatus与TransactionInfo
Spring Cloud Alibaba | 微服务分布式事务之Seata
SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务详解;部署(十八)