在集成Seata分布式事务时出现异常
Type id handling not implemented for type java.lang.Object
经过搜索发现这个是Seata1.4版本自身的问题,据说1.5版会修复。解决方法如下:
1、在nacos中修改seata的序列化方式,设置为kryo
image.png
2、添加kryo以依赖
<dependency>
<groupId>com.esotericsoftware.kryo</groupId>
<artifactId>kryo</artifactId>
<version>2.24.0</version>
</dependency>
<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>
其他解决方法:
1.https://github.com/seata/seata/pull/3228/files 或者看这个pr的做法,通过spi,自定义你的jackson序列化器
2.查看你代码的实体类时间属性对应的数据库字段类型如果是datetime改成timestamp
网友评论