我们面临着将时间戳写入 Gemfire 区域的问题
我们正在从 DB2 表中获取数据并将它们放入 Gemfire 区域。
DB2 表中有一个时间戳类型列
对于 Gemfire 的区域,我们为时间戳值指定了 java.sql.Timestamp
类型的字段。
我们从 DB2 获取该字段的值,如 1993-01-01-08.23.35.148153
我们使用 PdxSerilizer 来序列化和反序列化数据。
为了将数据写入 Gemfire,使用了 PdxWriter
的 writeObject(String fieldName, Object value)
。
将数据写入区域后,我们将获得两部分的值:
nanos 148000000
time 725898215148
对于纳秒,该值在将数据写入 Gemfire 时被修剪。
我们希望纳秒的值与 DB2 表中的值相同。
最佳答案
序列化java.sql.Timestamp
GemFire/Geode converts it to a long通过调用 getTime() 方法。根据javadocs for Timestamp这可以让你从纪元开始计算毫秒数。如果你想保留纳米,you will have to write PDXSerializer 的实现。
关于java - 如何在 genfire 区域存储时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44178931/