问题描述
dubbo分布式服务中,consumer调用provider的方法,该方法的传参,如果consumer传的对象在provider不存在定义或引用,就会抛出classnotfound的异常
或者这么说,就是provider中一个方法method(Object o),方法入参是一个Object,而consumer调用该方法,m = method(Pojo po),Pojo是consumer中定义的类,此时会抛出该异常
分析
web服务调用过程,dubbo封装hessian先再consumer端进行序列化,后再provider端反序列化
类不存在抛出异常
定位line348
jetbrains://idea/navigate/reference?project=dubbo-spring-provider&path=D:/Program Files/Maven/repositoryBONC/org/apache/dubbo/dubbo/2.7.1/dubbo-2.7.1.jar!/com/alibaba/com/caucho/hessian/io/SerializerFactory.class
处理
dubbo 找不到类时,用 MapDeserializer 进行反序列化