springcloud Alibaba 踩坑记 seata 分布式事务问题分析

本文采用是springcloud alibaba的组件集成,适合刚入坑seata的小白以一篇基础文章作为开始:使用 Seata 实现分布式事务源码和配置文章已经说得很清楚了,这篇文章主要写seata一些容易被忽略的坑点下载:seata-server坑点一如果你的项目采用是spring-cloud-alibaba-seata 0.9.0版本或以下的话,它集成了fescar-spring的0...
摘要由CSDN通过智能技术生成

本文采用是springcloud alibaba的组件集成,适合刚入坑seata的小白
以一篇基础文章作为开始:使用 Seata 实现分布式事务
源码和配置文章已经说得很清楚了,这篇文章主要写seata一些容易被忽略的坑点
下载:seata-server

坑点一

如果你的项目采用是spring-cloud-alibaba-seata 0.9.0版本或以下的话,它集成了fescar-spring的0.4.2版本,如果你的seata-server服务端是采用0.5.0以上建议还是降低版本,采用0.4.2版本。因为0.4.2版本解压是fescar-server名字,意不意外。这就是坑。而且项目引入seata依赖会与旧版本的fescar依赖冲突。

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-alibaba-seata</artifactId>
                <version>0.9.0.RELEASE</version>
            </dependency>

[外链图片转存失败(img-yNAbSfpl-1563245429073)(evernotecid://2FBF5D65-056C-45EC-B24E-E30918E6500F/appyinxiangcom/17498440/ENResource/p466)]

如果你的项目采用是spring-cloud-alibaba-seata 0.9.1(这个的seata为0.5.2)版本以上的话,那恭喜你。你可以使用seata-server的0.5.2以上的版本了。只需要在依赖这样引

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Spring Cloud Alibaba中使用Seata进行分布式事务,需要进行以下配置: 1. 添加Seata相关依赖:在pom.xml文件中添加Seata的依赖。 2. 配置Seata Server地址:在application.properties或application.yml文件中配置Seata Server的地址,例如:spring.cloud.alibaba.seata.server-address=127.0.0.1:8091。 3. 配置数据源代理:在数据源的配置文件中添加Seata的代理数据源,例如: ``` spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver # Seata代理数据源 spring.cloud.alibaba.seata.tx-service-group=my_test_tx_group spring.cloud.alibaba.seata.datasource.autoproxy=true ``` 4. 配置Mybatis和Spring的集成:在Mybatis和Spring的配置文件中添加Seata的相关配置,例如: ``` <!-- Mybatis --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath*:com/test/mapper/*.xml"/> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> <!-- Spring --> <bean id="transactionManager" class="io.seata.spring.annotation.GlobalTransactionScanner"> <constructor-arg name="txServiceGroup" value="my_test_tx_group" /> <property name="applicationId" value="test" /> <property name="zookeeper" value="localhost:2181" /> </bean> ``` 5. 添加Seata注解:在需要进行分布式事务的方法上添加@GlobalTransactional注解。 以上就是使用Spring Cloud AlibabaSeata进行分布式事务的配置步骤。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值