如何在genfire区域存储时间戳

时间:2017-05-25 11:01:57

标签: java gemfire spring-data-gemfire

我们面临将时间戳写入Gemfire区域的问题

我们从DB2表中获取数据并将它们放入Gemfire区域。

DB2表中有一个时间戳类型列

对于Gemfire的区域,我们为Timestamp值指定了java.sql.Timestamp类型的字段。

从DB2中我们获得了1993-01-01-08.23.35.148153

等字段的价值

我们使用PdxSerilizer来序列化和反序列化数据。

要将数据写入Gemfire,writeObject(String fieldName, Object value)使用了PdxWriter

在将数据写入区域之后,我们将分两部分获得价值:

nanos   148000000   
time    725898215148

对于纳秒,在将数据写入Gemfire时,该值已被修剪。

我们希望nano的值与DB2表中的值相同。

1 个答案:

答案 0 :(得分:1)

通过调用getTime()方法序列化java.sql.Timestamp GemFire / Geode converts it to a long。根据{{​​3}},你可以获得从纪元开始的毫秒数。如果你想保留nanos,javadocs for Timestamp PDXSerializer的实现。