如何存储时间戳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。
我正在使用该PDXSerilizer的toData和fromData。在文档中看到,PdxWriter是toData方法的一个变种。你有没有实施这种情景? –
您需要在您的toData中分别编写nanos。写完时间戳后,获取纳米并写入纳米。在您的fromData方法中,您将读取毫微秒,然后读取已转换的时间戳。然后将纳米加入。 –