记Dubbo调用Hessian序列化的一个坑
昨天在工作中遇到了一个序列化的问题。有两个系统分别是A和B,A通过Dubbo调用B获取结果。B结果有个字段一直获取不到数据。后通过打日志发现 B的接口返回结果有值,A收到的结果没有值,开始怀疑序列化的问题。先开始看B结果对象那个字段的定义,发现父类里也有一个同样的字段且都实现了Get/Set方法,按道理,子类会覆盖父类,不至于丢失该字段的值。接下来把父类的字段去去掉,重新发布打包,A就能获取到这个字段的值了。
上面的是一个现象和结果,通过网上搜阅发现已有人遇到类似问题,就是Hessian搞的,以后对此需谨慎。
序列化代码解读可参考下面两个文章