java - 如何在 genfire 区域存储时间戳

标签 java gemfire spring-data-gemfire

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

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

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

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

我们从 DB2 获取该字段的值,如 1993-01-01-08.23.35.148153

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

为了将数据写入 Gemfire,使用了 PdxWriterwriteObject(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/

相关文章:

c++ - Gemfire 从 cqEvent 获取错误

java - Pivot gemfire 索引创建花费了太多时间

java - 在没有运行定位器的情况下启动 spring-data-gemfire

java - Spring - 需要使用注解进行依赖注入(inject)

java - Eclipse 在 Debug模式下挂起我的进程

java - 内存文件系统中用于生产的 JIMFS

java - 谷歌页面索引 - java

java - 使用 ServerLauncher 后无法在 Gemfire 9 中启动脉冲

java - Gemfire 对碰撞和重复条目的抵抗力如何?

Spring 启动错误: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean