如何存储时间戳genfire区域

问题描述:

我们面对的问题编写成时间戳地区的GemFire如何存储时间戳genfire区域

我们从DB2表中读取数据,并把它们变成了GemFire区域。

一个时间戳类型列是DB2表

对于的GemFire的区域中,我们已指定为时间戳值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表中的值相同。

通过调用getTime()方法序列化java.sql.Timestamp GemFire/Geode converts it to a long。根据javadocs for Timestamp可以得到你从时代开始的毫秒数。如果你想保存纳米,you will have to write实现PDXSerializer。

+0

我正在使用该PDXSerilizer的toData和fromData。在文档中看到,PdxWriter是toData方法的一个变种。你有没有实施这种情景? –

+0

您需要在您的toData中分别编写nanos。写完时间戳后,获取纳米并写入纳米。在您的fromData方法中,您将读取毫微秒,然后读取已转换的时间戳。然后将纳米加入。 –