dubbo序列化

dubbo版本:2.5.2

默认使用:hessian2序列化

当父子类有同名属性时,会获取不到该属性。

原因:

  在进行赋值的时候,由多态性,导致了赋值的时候,同名属性只有子类赋值,父类的值为空。

  在序列化的时候,属性值的顺序为:子类+父类。

  反序列化的时候,先拿子类,在拿父类的属性,以去重的方式放入HashMap中。在遍历该HashMap进行赋值的时候,子类的属性会被赋值两次,第一次有值,第二次为父类的null值。因此获取不到该属性值。

  代码实现,详见:

    JavaSerializer (序列化)

    JavaDeserializer (反序列化)

原文地址:https://www.cnblogs.com/chen--biao/p/9685468.html