dubbo版本:2.5.2
默认使用:hessian2序列化
当父子类有同名属性时,会获取不到该属性。
原因:
在进行赋值的时候,由多态性,导致了赋值的时候,同名属性只有子类赋值,父类的值为空。
在序列化的时候,属性值的顺序为:子类+父类。
反序列化的时候,先拿子类,在拿父类的属性,以去重的方式放入HashMap中。在遍历该HashMap进行赋值的时候,子类的属性会被赋值两次,第一次有值,第二次为父类的null值。因此获取不到该属性值。
代码实现,详见:
JavaSerializer (序列化)
JavaDeserializer (反序列化)