关于分布式事务seata的使用与踩坑(解决修改数据源导致mapper无法注入和java.lang.NoSuchMethodException)

本文详细介绍了在使用Seata进行分布式事务处理时遇到的两个主要问题及其解决方案。首先,针对在XA模式下由于数据源代理导致Mapper无法注入的问题,提出了关闭Seata数据源自动代理并利用@Primary注解优先选择数据源的策略。其次,针对java.lang.NoSuchMethodException,分析了高版本MySQL驱动的兼容性问题,并通过降级MySQL驱动版本至8.0.11得以解决。
摘要由CSDN通过智能技术生成

前言

最近在学习分布式事务seata时遇到了一些问题,做个总结记录一下

搭建工程

我们先搭建一个简单的微服务工程(因为是针对解决seata问题,搭建仅展示核心代码)
如果只需要解决问题请跳过
pom

 <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值