目前tiny版本依赖的hession-4.0.7版本对于 java.sql.Date, java.sql.Timestamp, java.sql.Time的反序列化均有问题存在。
当这三种类型的属性值为空是反序列化会出现空指针
at com.caucho.hessian.io.UnsafeDeserializer.logDeserializeError(UnsafeDeserializer.java:774)
at com.caucho.hessian.io.UnsafeDeserializer$SqlTimestampFieldDeserializer.deserialize(UnsafeDeserializer.java:725)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:210)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:116)
at com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:516)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1160)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1012)
at com.caucho.hessian.io.UnsafeDeserializer$ObjectFieldDeserializer.deserialize(UnsafeDeserializer.java:417)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:210)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:116)
at com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:516)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1160)
at com.caucho.hessian.io.MapDeserializer.readMap(MapDeserializer.java:114)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1029)
at com.caucho.hessian.io.UnsafeDeserializer$ObjectFieldDeserializer.deserialize(UnsafeDeserializer.java:417)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:210)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:116)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1035)
at com.caucho.hessian.io.UnsafeDeserializer$ObjectFieldDeserializer.deserialize(UnsafeDeserializer.java:417)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:210)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:116)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1035)
at com.caucho.hessian.io.UnsafeDeserializer$ObjectFieldDeserializer.deserialize(UnsafeDeserializer.java:417)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:210)
at com.caucho.hessian.io.UnsafeDeserializer.readMap(UnsafeDeserializer.java:116)
at com.caucho.hessian.io.SerializerFactory.readMap(SerializerFactory.java:516)
at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:1160)
at org.tinygroup.nettyremote.codec.serialization.HessianDecoder.decode(HessianDecoder.java:66)
at io.netty.handler.codec.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:343)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:315)
... 12 more
Caused by: java.lang.NullPointerException
at com.caucho.hessian.io.UnsafeDeserializer$SqlTimestampFieldDeserializer.deserialize(UnsafeDeserializer.java:721)
... 40 more
建议升级到最新的hession-4.0.51版本,该版本已修复这个问题