遇到的问题:
Dubbo服务提供者的一个参数是Date类型,当服务消费者传参调用时发现接收到的参数始终是当前日期,而不是消费者传过来的值。
那么问题原因是什么:
Dubbo默认的序列化框架hessian在序列化参数时默认调用Date的toString方法,然后反序列化时通过默认格式yyyy-MM-dd HH:mm:ss 来解码出date日期数据。源码如下:
/**
* Converts this <code>Date</code> object to a <code>String</code>
* of the form:
* <blockquote><pre>
* dow mon dd hh:mm:ss zzz yyyy</pre></blockquote>
* where:<ul>
* <li><tt>dow</tt> is the day of the week (<tt>Sun, Mon, Tue, Wed,
* Thu, Fri, Sat</tt>).
* <li><tt>mon</tt> is the month (<tt>Jan, Feb, Mar, Apr, May, Jun,
* Jul, Aug, Sep, Oct, Nov, Dec</tt>).
* <li><tt>dd</tt> is the day of the month (<tt>01</tt> through
* <tt>31</tt>), as two decimal digits.
* <li><