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

被折叠的 条评论
为什么被折叠?



