美文网首页
2021-11-13

2021-11-13

作者: 得失随缘_1da5 | 来源:发表于2023-10-01 22:09 被阅读0次

整合seata出错,seata版本1.4.2,用的ruoyi框架

报错:

报错ERROR i.s.r.d.u.p.JacksonUndoLogParser - json encode exception, No serializer found for class java.io.ByteArrayInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: io.seata.rm.datasource.undo.BranchUndoLog["sqlUndoLogs"]->java.util.ArrayList[1]->io.seata.rm.datasource.undo.SQLUndoLog["afterImage"]->io.seata.rm.datasource.sql.struct.TableRecords["rows"]->java.util.ArrayList[0]->io.seata.rm.datasource.sql.struct.Row["fields"]->java.util.ArrayList[6]->io.seata.rm.datasource.sql.struct.Field["value"]->oracle.sql.TIMESTAMP["stream"])

默认的日志序列化程序不可用, jackson 的新特性找不到,Seata 要求 jackson 版本2.9.9+,但是使用 jackson 2.9.9+ 版本会导致Spring Boot中使用的jackson API找不到,也就是jackson本身的向前兼容性存在问题。因此,建议大家将Seata的序列化方式切换到非 jackson 序列化方式,比如 kryo,配置项为client.undo.logSerialization = "kryo"

问题3 修改为kryo之后报错:NoClassDefFoundError: com/esotericsoftware/kryo/pool/KryoFactory; 

添加kryo的maven依赖

问题解决

相关文章

网友评论

      本文标题:2021-11-13

      本文链接:https://www.haomeiwen.com/subject/ctvzzltx.html