dubbo传参provider接收参数缺失
情景
1 . dubbo入参消费者端无缺失,dubbo提供者接受参数有缺失
解决方案
dubbo提供者接受dto内层外层存在相同字段,相同字段接受参数缺失
原因
dubbo默认使用的序列化方式是hession
-- 序列化
public static byte[] serialize(Object obj) throws IOException {
ByteArrayOutputStream os = new ByteArrayOutputStream();
HessianOutput ho = new HessianOutput(os);
ho.writeObject(obj);
return os.toByteArray();
}
-- 反序列化
public static Object deserialize(byte[] by) throws IOException {
ByteArrayInputStream is = new ByteArrayInputStream(by);
HessianInput hi = new HessianInput(is);
return hi.readObject();
}
当dubbo提供者父类或子类,或同一个类包装多个dto存在相同命名字段存在时,在反序列化时会对该字段做多次赋值,操作过后字段的值会造成数据不一致,其他相同字段为空时,该字段有可能为空。
博观而约取,厚积而薄发

浙公网安备 33010602011771号