dubbox 中kryo序列化 KryoException: Encountered unregistered class ID: 114

本文介绍了解决 Dubbo 服务间调用时出现的 KryoException 错误的方法。该错误源于两个服务中 SerializationOptimizer 注册的类不一致。通过确保所有服务中的 SerializationOptimizer 使用相同的类集合,可以避免此类问题。


两个dubbo互相调用,然后报了KryoException: Encountered unregistered class ID: 114错误


问题由于两个dubbo的SerializationOptimizer分别注册了bean,而dubbo又去使用map去存储bean class,key为数字顺序,value为bean的路径class,所以导致上午不能找到bean的错误,解决方法是在每个服务的SerializationOptimizer使用相同数量的集合

public class SerializationOptimizerImpl implements SerializationOptimizer{


@Override
public Collection<Class> getSerializableClasses() {
List<Class> classes = new LinkedList<Class>();
classes.add(a.class);
        return classes;
}


变为

public class SerializationOptimizerImpl implements SerializationOptimizer{


@Override
public Collection<Class> getSerializableClasses() {
List<Class> classes = new LinkedList<Class>();
classes.add(a.class);

classes.add(b.class);

        return classes;
}




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值