【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)

简介: 【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)

【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(上):https://developer.aliyun.com/article/1390161

四、整合SpringBoot

这里以 seata-order-service2001 服务为例,另外两个同理。

1. POM

💧依赖一定要选对,高版本得用这个 ↓ 不然会报错:not support register type: null

<!--seata-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
    <exclusions>
        <exclusion>
            <groupId>io.seata</groupId>
            <artifactId>seata-spring-boot-starter</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>io.seata</groupId>
    <artifactId>seata-spring-boot-starter</artifactId>
    <version>1.5.2</version>
</dependency>

2. YML

💧按照这个写基本上就OK

server:
  port: 2001
spring:
  application:
    name: seata-order-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/seata_order?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
    driver-class-name: com.mysql.cj.jdbc.Driver
feign:
  hystrix:
    enabled: false
logging:
  level:
    io:
      seata: info
mybatis:
  mapperLocations: classpath:mapper/*.xml
seata:
  tx-service-group: fsp_tx_group  #这里每个服务都是对应不同的映射名,在配置中心可以看到
  registry:
    type: nacos
    nacos:
      server-addr: localhost:8848
      group: SEATA_GROUP
  service:
    vgroup-mapping:
      #这里也要注意 key为映射名,
      fsp_tx_group: default

3. 踩坑说明【重要】

坑一

💧这里有个大坑,老师是旧版本的,我们是新版本的,DruidDataSource 配置了反而出错,参考github解决了

报错:

Bean named ‘dataSourceProxy’ is expected to be of type ‘io.seata.rm.datasource.DataSourceProxy’ but was actually of type ‘com.alibaba.druid.pool.DruidDataSourceE n h a n c e r B y S p r i n g C G L I B EnhancerBySpringCGLIBEnhancerBySpringCGLIBd38bdd7b’ #3805

💧来自大佬的解释(真心感谢):自1.3以来不鼓励自己注册DataSourceProxy bean。如果您正在使用DataSourceProxy,则不需要关心DataSourceProxy(starter将自动处理它),只需以旧的方式注册并使用datasourcebean。

💧也就是说,在后续的高版本中,我们不要再去手动配置数据源了,就使用自动创建的数据源即可。

坑二

💧由于我的nacos是2.1.1,并且seata是1.5.2,工程父pom中的依赖不再适用。

💧详情请参考:https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明

💧根据文档,找到适配的依赖版本:

4. 🌸测试Seata(完结撒花)🌸

🌸启动, seata、nacos、三个微服务之后

🌸访问:http://localhost:2001/order/create?userId=1&productId=1&count=10&money=100

🌸查看数据库中对应的数据(原始sql语句在老师的笔记中有,实在没有的话,你也可以参考这篇很棒的文章:Spring Cloud 学习笔记(3 / 3)

🌸先正常访问,看看数据库情况:http://localhost:2001/order/create?userId=1&productId=1&count=10&money=100

🌸添加超时,OpenFeign 默认超时是1s,我们超时20秒,这样可以模拟一个服务异常的场景,观察数据库有无写操作

🌸由于服务异常,操作回滚,数据全部OK!真 · 完结撒花!!!🌸🌸ヽ(°▽°)ノ🌸 ~~~

相关文章
|
2月前
|
测试技术 API 容器
|
2月前
|
缓存 测试技术 Linux
软件测试/测试开发|如何解决pip下载速度慢的问题
软件测试/测试开发|如何解决pip下载速度慢的问题
60 0
|
5天前
Postman 测试上传与下载
Postman 测试上传与下载
12 0
|
2月前
|
Ubuntu 测试技术 Linux
|
2月前
|
网络协议 Java 应用服务中间件
如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试
如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试
|
2月前
|
NoSQL 测试技术 Redis
Redis【性能 01】Redis 5.x 6.x 7.x 共5个不同版本延迟及性能测试对比分析(单机版默认配置)
Redis【性能 01】Redis 5.x 6.x 7.x 共5个不同版本延迟及性能测试对比分析(单机版默认配置)
54 0
|
2月前
|
Web App开发 Java Linux
Nexus【部署 02】最新版本 nexus-3.35.0-02-unix.tar.gz 安装配置启动及测试(JDK版本+虚拟机参数配置说明)
Nexus【部署 02】最新版本 nexus-3.35.0-02-unix.tar.gz 安装配置启动及测试(JDK版本+虚拟机参数配置说明)
47 0
|
2月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
40 0
|
2天前
|
Web App开发 测试技术 数据安全/隐私保护
Web自动化测试工具Selenium
Web自动化测试工具Selenium
|
3天前
|
SQL 安全 Java
安全测试之推荐工具
【2月更文挑战第2天】安全测试之推荐工具
51 2

热门文章

最新文章

相关产品

  • 云迁移中心