メッセージの書き込み/読み取りに Java Chronicle 1.9.2 を使用しようとしています。新しいバージョンが利用可能であることは知っていますが、より多くの時間を費やす前にいくつか質問があります。
クロニクルからの抜粋を読んだら、メッセージを削除する必要があります。そのため、リーダーが再び開始しても、最初には戻りません。また、メッセージは一度読んだら役に立たないので削除したいと思います。
それを行うオプションはありますか?次のコードを試していますが、リーダーを起動するたびに、すべてのメッセージが再び表示されます。また、特定の期間が経過すると自動的に削除されるように、メッセージに Time to Live を設定するオプションがあります。
ライター -
String tempPath = System.getProperty("java.io.tmpdir");
String basePrefix = tempPath + "chronicle";
System.out.println("base prefix: " + basePrefix);
Chronicle chr = new IndexedChronicle(basePrefix);
final Excerpt excerpt = chr.createExcerpt();
excerpt.startExcerpt(this.getmsgtext().length() + 4);
excerpt.writeBytes(this.getmsgtext());
excerpt.finish();
chr.close();
読者 -
String tempPath = System.getProperty("java.io.tmpdir");
String basePrefix = tempPath + "chronicle";
System.out.println("base prefix: " + basePrefix);
Chronicle chr = new IndexedChronicle(basePrefix);
final Excerpt excerpt = chr.createExcerpt();
while (excerpt.nextIndex()) {
System.out.println("Read string from chronicle: " + excerpt.readByteString());
}
chr.close();