由于项目中最近 hutool,再调用dubbo传参时发现接收方时间总为当前时间。经过网上文章大概就两篇,都指向了Date.toString有问题。hussian 解析出错。
以下是两篇文章地址:
https://gitee.com/dromara/hutool/issues/I1818X
https://blog.csdn.net/u010503427/article/details/124450234
当前环境:
- dubbo2.6.1
参考文章可以定位到为题是dubbo采用了hessian 作为序列化。
- 序列化过程:Hessian2Output -> SerializerFactory -> Serializer
- 反序列化过程:Hessian2Input -> SerializerFactory -> Deserializer
经过测试,发现并没有走toString方法导致的。而且JDK 中的Date是完全没有问题的。原因JDK中的date是直接获取getTime()进行的
hutool中的dateTime有问题,原因是datetime 信息不是存在set与get种的为什么会返回当前时间,原因是通过反射new了一个数据