栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

seata集成nacos+mysql基于ruoyi-cloud项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

seata集成nacos+mysql基于ruoyi-cloud项目

1.所需配置 1. 下载seata1.4.2

此处使用的V1.4.2,0.9版本以后基本没有版本区别

2、在下载的seata目录下新建config.txt(注意,和bin同级目录)

seata配置中心
注意第一句:lwf-system-group 这个名称是在项目中配置的事务分组名称,极易出差(我在此处被折磨半天)

service.vgroupMapping.lwf-system-group=default
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/ry-seata?useUnicode=true
store.db.user=root
store.db.password=password
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000
3、下载注册配置的工具文件

下载链接
windows 下载nacos-config.py linux 下载nacos-config.sh
下载后放到conf目录下,运行。windows需要python环境
如果nacos设置登录了信息的,需要修改。(如果不闲麻烦,也可以直接在nacos中一条一条的添加配置,注意,每一行就是一个配置,key=value形式)

运行成功后到nacos中可以看到配置相关信息。


相关配置注册成功,我遇到的是没有注册第一行,理论上在需要使用分布式事务的项目都应该有对应的这个配置,分别对应项目名称,当然也可以全部统一为一个事务组

service.vgroupMapping.lwf-system-group=default

没详细看为什么没有注册此配置,直接在nacos里面添加一条吧(注意分组要相同:SEATA_GROUP)

在项目配置文件中添加

# spring配置
spring: 
  datasource:
    dynamic:
      # 开启seata代理
      seata: true
# seata配置
seata:
  enabled: true
  # Seata 应用编号,默认为 ${spring.application.name}  上面提到的极易出差的地方,lwf-system就对应此处的名称
  application-id: ${spring.application.name}
  # Seata 事务组编号,用于 TC 集群名
  tx-service-group: ${spring.application.name}-group
  # 关闭自动代理
  enable-auto-data-source-proxy: false
  # 服务配置项
  service:
    # 虚拟组和分组的映射
    vgroup-mapping:
    #注意此处需要修改跟项目名称一致,也就是上面的${spring.application.name}名称一致,否则会失败
      lwf-system-group: default
  config:
    type: nacos
    nacos:
      serverAddr: 127.0.0.1:8848
      group: SEATA_GROUP
      namespace:
  registry:
    type: nacos
    nacos:
      application: seata-server
      server-addr: 127.0.0.1:8848
      namespace:
4、异常

no available service ‘’ found, please make sure registry config corre
no available service ‘default’ found, please make sure registry config corre
这两个都差不多,一个是找不到配置service.vgroupMapping.lwf-system-group对应的值,一个是找到值为default却无法识别为一个集群组名称,都是名称不对应导致的,到现在我都还没有完全把名称对应起来,后面有时间再来补详细的名称对应关系。此文只做记录文档。

io.seata.rm.datasource.sql.struct.Field[“value”])
此错误是因为实体类中有Date类型,并且对应数据库字段威dateTime类型,这是nacos的错误,升级nacos版本可解决此问题。也可以通过引入配置解决,配置解决方法如下:
在nacos中添加配置名称为:client.undo.logSerialization 值为: kryo

在项目pom.xml中引入

    
        com.esotericsoftware
        kryo
        4.0.2
    
    
        de.javakaffee
        kryo-serializers
        0.44
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770623.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号