异常信息:
Caused by: com.esotericsoftware.kryo.KryoException: Encountered unregistered class ID: 54
at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:137)
at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:693)
at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:804)
at com.alibaba.dubbo.common.serialize.kryo.KryoObjectInput.readObject(KryoObjectInput.java:133)
... 22 more
项目情况:采用springboot 2.0.3.RELEASE + dubbo 2.6.2 ,分成3个项目,一个是提供通用的bean对象的共用项目,一个是dubbo的provider,一个是dubbo的consumer,现在是启动consumer后要去调用provider的服务时报上图的异常。
1、provider项目的配置情况如下:
application.properties
dubbo.protocol.serialization=kryo
#序列化优化的实现类
dubbo.protocol.optimizer=com.richborn.api.bean.SerializationOptimizerImpl
序列化实现类:
public class SerializationOptimizerImpl implements SerializationOptimizer {
public Collection<Class> getSerializableClasses() {
List<Class> classes = new LinkedList<Class>();
classes.add(CustToken.class);
return classes;
}
}
实体类也是有序列化的:
@Table(name = "CUST_TOKEN")
public class CustToken implements Serializable {
private static final long serialVersionUID = -5107927644627778800L;
@Id
@Column(name = "ID")
private String id;
@Column(name = "COMPANY_ID")
private String companyId;
@Column(name = "CUST_ID")
private String custId;
@Column(name = "CREATE_DATE")
private Date createDate;
// set get 方法省略。。。
}
2、consumer项目如下配置:
application.properties:
dubbo.protocol.serialization=kryo
#序列化优化的实现类
dubbo.protocol.optimizer=com.richborn.api.bean.SerializationOptimizerImpl
不知道是不是哪里配置不对,或者是少配置了,还请各位大神帮忙指导,谢谢了。