学习Atomikos整合多个数据源实现JTA分布式事务管理

本文介绍了如何使用Atomikos在Java项目中实现JTA分布式事务管理,通过配置两个H2数据库数据源并在业务逻辑中演示了事务的提交和回滚。在遇到异常时,Atomikos确保所有更改要么全部提交,要么全部回滚,保证了事务的一致性。
摘要由CSDN通过智能技术生成

在前一篇学习Spring框架下的分布式事务_luzhouyue1024的博客-CSDN博客 的基础上,实战编程一个分布式事务管理的项目

代码采用H2内存数据库,有两个h2数据源,第一个数据源firstDataSource是一个AtomikosDataSourceBean的实例,并注入了链接了DB1的一个内存数据库(数据库类型H2),配置文件如下:

package com.lydia.multipledatasources.config;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import javax.sql.DataSource;

/**
 * @description:
 * @author: Lydia Lee
 */
@Configuration
//配置 mapper 的扫描位置,指定相应的 sqlSessionTemplate
@MapperScan(basePackages = "com.lydia.multipledatasources.mapper.first", sqlSessionTemplateRef = "firstSqlSessionTemplate")
public class FirstDataSourceConfig {
    @Autowired
    FirstDataSourceHelper dataSourceHelper;

    @Bean
    @Primary
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值