源码福利----分布式事务操作之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新建一个类。

源码福利----分布式事务操作之Spring+JTA+mybatis

源码福利----分布式事务操作之Spring+JTA+mybatis


第三步:创建DAO

创建基于mybatis框架的DAO接口和实现类。

IBaseDao

源码福利----分布式事务操作之Spring+JTA+mybatis

源码福利----分布式事务操作之Spring+JTA+mybatis

BaseDaoImpl

源码福利----分布式事务操作之Spring+JTA+mybatis

源码福利----分布式事务操作之Spring+JTA+mybatis


第四步:XML配置

 由于太多不好贴,继续往下看,有惊喜哦!

第五步:测试

在后台测试分布式事务管理:

源码福利----分布式事务操作之Spring+JTA+mybatis

在indexWeb、dmcWeb库中创建测试表,并插入测试数据,配置:

源码福利----分布式事务操作之Spring+JTA+mybatis

源码福利----分布式事务操作之Spring+JTA+mybatis


分布式事务操作之Spring+JTA+mybatis源码下载地址:

链接:http://pan.baidu.com/s/1hr5Ga1I 密码:wbjx












看完本文有收获?请转发分享给更多人


欢迎关注“畅聊架构”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。



以上是关于源码福利----分布式事务操作之Spring+JTA+mybatis的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架之事务处理源码分析

Spring 源码分析之事务2 TransactionStatus与TransactionInfo

Spring Cloud Alibaba | 微服务分布式事务之Seata

SpringCloud - Spring Cloud Alibaba 之 Seata分布式事务服务详解;部署(十八)

微服务框架Spring Cloud之使用事件和消息队列实现分布式事务

Seata-Server分布式事务原理加源码 - 微服务之分布式事务原理