• seata 踩坑记录


    seata 启动

    启动脚本里面指定了 CMS 并行收集器,所以我们需要指定启动 jdk 为 jdk8。
    windows 环境在 seata-server.bat 里面配置 JAVACMD 变量,linux 就修改 seata-server.sh

    set JAVACMD=C:\JDK\jdk-8\bin\java.exe
    

    项目添加 seata 启动报错

    SeataRestTemplateAutoConfiguration.class 循环依赖错误,我们可以看到 他自己注入 SeataRestTemplateInterceptor bean,而这个 bean 又是在自己内部创建的。

    解决方案:
    Spring 启动排除 SeataRestTemplateAutoConfiguration.class 配置类,自己手动重写配置类,给注入配置成懒加载模式

    // 启动指定排除 SeataRestTemplateAutoConfiguration.class 配置类
    @SpringBootApplication(exclude = SeataRestTemplateAutoConfiguration.class)
    

    项目执行 sql 报 jackson 数据绑定错误 com.fasterxml.jackson.databind.exc.InvalidDefinitionException

    解决方案:
    方案一:数据库涉及的所有表的 datetime 的数据类型调整为 timestamp,明显不现实。timestamp是 1970-01-01 00:00:00到 2037 年。
    方案二:seta 客户端修改序列化方式为 kryo , 添加相关引用

    client.undo.logSerialization = kryo
    
    <dependency>
    	<groupId>com.esotericsoftware</groupId>
    	<artifactId>kryo</artifactId>
    	<version>4.0.2</version>
    </dependency>
    <dependency>
    	<groupId>de.javakaffee</groupId>
    	<artifactId>kryo-serializers</artifactId>
    	<version>0.42</version>
    </dependency>
    
  • 相关阅读:
    idea如何使用git关联远程仓库
    项目首次上传至git仓库步骤
    Eclipse 的 Java Web 项目环境搭建
    Postman
    Postman接口测试之POST、GET请求方法
    接口测试3A原则
    使用unittest和ddt进行数据驱动
    每天进步一点点006
    每天进步一点点005
    Selenium2+python自动化1-环境搭建(悠悠课程之路)
  • 原文地址:https://www.cnblogs.com/listjiang/p/15977885.html
Copyright © 2020-2023  润新知