问题描述
hutool 包中的 DateUtil 十分强大,但是最近使用时,发现一个奇怪的问题。由于本人使用的是 Dubbo 框架,在进行RPC方法调用时传递Date类型参数,而Date类型参数值又是通过 hutool 包中的 DateUtil 处理得到的,这时会出现RPC接收方接收到的Date类型参数永远是当前时间。
原因分析:
使用 hutool 包中的 DateUtil 处理完日期后得到的是 cn.hutool.core.date.DateTime ,该类继承自 java.util.Date ,并重写了 toString 方法,而 Dubbo 的序列化默认调用 toString ,最终解析出来的日期就会有问题。
解决方案:
使用 hutool 包中的 DateUtil 处理完日期后,可以调用 toJDKDate 方法将结果转换成原生的 java.util.Date 类型。
参考:https://gitee.com/dromara/hutool/issues/I1818X
本文探讨了在Dubbo框架中,如何避免DateUtil处理后的DateTime类型导致的RPC接收方接收到当前时间的问题。作者提供了将DateTime转换为java.util.Date以解决这个问题的方法,并引用了相关issue作为参考。
1589

被折叠的 条评论
为什么被折叠?



