kyro4.0升级到5.0,报错

java 同时被 2 个专栏收录
19 篇文章 0 订阅
1 篇文章 0 订阅

任务:kyro4.0.2版本升级到5.0.0-RC7

升级中遇到的问题&解决方案

找不到DefaultInstantiatorStrategy类

原因: 4.0升级到5.0版本后DefaultInstantiatorStrategy类从Kyro类中移到util文件夹下

// 4.0版本
import com.esotericsoftware.kryo.Kryo.DefaultInstantiatorStrategy;

解决方案: 更改import的地址,如下:

// 5.0版本
import com.esotericsoftware.kryo.util.DefaultInstantiatorStrategy;

Output类中没有clear()方法

原因: 4.0升级到5.0版本后,Output类删除了clear()函数

// 4.0版本
    public void clear() {
        this.position = 0;
        this.total = 0L;
    }

5.0版本后改为使用reset():

// 5.0版本
    public void reset() {
        this.position = 0;
        this.total = 0L;
    }

解决方案: 原来使用clear(),改为使用reset()

	output.reset();

5.0后默认registrationRequired = true

4.0升级到5.0后,之前的测试用例发现失败了【单元测试很有必要】,看官网才知道,4.0版本registrationRequired的值默认为false,升级到5.0后默认为true,需要手动设置为false

	this.kryo = new Kryo();
	this.kryo.setRegistrationRequired(false);
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值