2017-09-13 6 views
2

バックアップを取るというコンセプトのために、あるクロニクルキューから別のクロニクルキューにデータをコピーする必要があります。クロニクルから別のデータにデータをコピーする

Bytesオブジェクト全体を1つのキューのワイヤから別のキューに直接コピーするのは安全でしょうか?

documentContext()のようなもの。ワイヤー()。バイト()。(byte_bufferを)読ん

、その後byte_storeにこのbyte_bufferをラップし、documentContext()

として執筆。ワイヤー( ).bytes()。write(byte_Store)。

私はそれをやっている理由は、カスタムオブジェクトに前後の変換を避けることですか?

答えて

1

より簡単な方法は、一方から他方に直接コピーすることです。

ChronicleQueue inQ = SingleChronicleQueueBuilder.binary("in").build(); 
ExcerptTailer tailer = inQ.createTailer(); 
ChronicleQueue outQ = SingleChronicleQueueBuilder.binary("out").build(); 
ExcerptAppender appender = outQ.acquireAppender(); 

while(true) { 
    try (DocumentContext inDC = tailer.readingDocument()) { 
     if (!inDC.isPresent()) { 
      // not message available 
      break; // or pause or do something else. 
     } 
     try (DocumentContext outDC = appender.writingDocument()) { 
      outDC.wire().write(inDC.wire().bytes()); 
     } 
    } 
} 

}

+0

OKああ、ありがとう。ちょうど確認のための質問に追加、クロニクルファイルは、マシンまたはそれらを作成したサーバーに不可知論者と思われる、つまり、私はデバッグの目的のために私のdev envに高位のenvで生成されたクロニクルファイルをコピーすることができます(私はそれについても、 。私の理解は正しいのですか? – user3887600

関連する問題