我正在建立一个持久性测试人员来测试我试图保持的数据是否正确,这个过程是这样的:
测试可能正确也可能不正确。我一直在修复一些错误,但var1和var2中的持久数据总是相同的。
尽管有类型(整数,长整数,双精度数,布尔值,类,对象等),但值始终匹配。但是,在持久化并读取Date时,以毫秒为单位的值是不同的。比较工作正常,这不是问题。
是否有关于Date对象的序列化/反序列化/持久性的错误?我希望你能帮助我。
由于
答案 0 :(得分:1)
您使用的是Java序列化,Externaliable,ExternalizableLite,POF还是某些自定义序列化? (假设问题标题中有POF。)
您能否发布您正在使用的复制器和任何自定义序列化代码(例如readExternal和writeExternal方法)?
您是否正在使用PofWriter使用writeDateTime()方法编写java.util.Date对象?您是否使用PofReader使用readDate()方法读取值?
当您说“以毫秒为单位的值不同”时,您能否定义值的差异?你写出来之前的几毫秒是多少?读回来的毫秒是多少?
从理论上讲,在时区方面也可能出现问题。我很好奇,例如,时间是15分钟,30分钟还是60分钟。
答案 1 :(得分:1)
不要在Coherence中使用java.util.Date而是使用java.sql.Timestamp。 POF与Date对象有一些问题。虽然提到的问题与你的问题不一样,但安全总是更好。 read more