1条回答 默认 最新
- 写代码的小吴 2022-09-21 19:36关注
- 对应的实体类应该是有实现了 Serializable 接口
- 对应的实体类应该是加了 "private static final long serialVersionUID = 2506741148223987118L;" 这类标记
- 消费者或者生产者其中一方更新了新的实体,比如在这个实体类上加了新的 field
三者结合起来,导致了这个错误,其实归根到底就是 kryo 会缓存所有序列化/反序列化的数据,并且生成对应的 class ID,一旦遇到相同但不同版本的类就会出现类似的异常,解决方法只能是保证消费者跟生产者都用相同版本的实体。
或者改成用 Hessian / JSON 吧,起码这个序列化方式不会对类的版本这么敏感,增加或者减少实体类的 field 不会导致任何一方出现序列化/反序列化异常。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换