2017-05-25 80 views
0

我們面對的問題編寫成時間戳地區的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表中的值相同。

回答

1

通過調用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方法中,您將讀取毫微秒,然後讀取已轉換的時間戳。然後將納米加入。 –