問題タブ [chronicle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
logging - メソッドが見つかりません - net.openhft.chronicle.logger.log4j2.TextVanillaChronicleAppender.createChronicle() での VanillaChronicle ctor 呼び出し
log4j2 v1.0.3 の Chronicle Logger が依存する OpenHFT Chronicle の特定のバージョンはありますか?
私が見つけた VanillaChronicle の唯一の ctor は、TextVanillaChronicleAppender のメソッド呼び出しとは異なるパラメーターを取るパッケージの可視定義でした。
chronicle - さまざまな種類のメッセージを記録キューに書き込むことはできますか?
クロニクル キューにさまざまな種類のメッセージを書き込み、その種類に応じてコンシューマーでメッセージを処理したいと考えています。
どうやってやるの?
chronicle - クロニクルの前にオンヒープ キャッシュを置く
永続的なオフヒープ クロニクル キャッシュの前にオンヒープ キャッシュ (グアバ キャッシュなど) を置くのは理にかなっていますか? では、guava キャッシュ ミスが発生した場合は、クロニクル キャッシュを使用しますか?
ありがとう
java - 特定の日から始まる VanillaChronicle のデータを再生するにはどうすればよいですか?
VanillaChronicle は日付で指定された別のディレクトリにデータを保存するため、特定の日からデータを再生できますか? サンプルコードは大歓迎です。ありがとう!
java - クロニクル マップ - 値のデータ型
値側がマップまたはセットである記録マップを実装する最良の方法は何ですか?
特定の ID を持ついくつかのデータの複数のバージョンを保存できる、次のようなデータ構造が必要です。
または場合によっては 2 つのマップ:
(原子性とシリアライゼーションのパフォーマンスが私の主な関心事です)。acquireUsingLocked/getUsingLocked
メソッドは、標準のマップ/セットの実装では機能しないようです。
chronicle - ChronicleMap の WriteContext の使用
ChronicleMap (2.1.7) を調べると、 acquireUsingLocked(); を呼び出すときの WriteContext の適切な使用法について正確にはわかりません。
私が興味を持っているシナリオは、関数呼び出し元の観点からアトミックに 2 つのアクションを実行する必要がある関数です。それらの 1 つは、存在しない場合、マップにエントリを追加することです。もう 1 つは、マップ内の指定されたキーの値が以前になかった場合にのみ実行されます。
マップ内の特定のキーに対する値が以前になく、この 2 番目のアクションが失敗した場合、後続のテストで対応するキーの値が見つからないように、マップを更新しないでください。
指定されたキーのマップに既にエントリがあった場合、元の値を更新したくなく、この 2 番目のアクションを実行したくありません。ただし、呼び出し元の戻り値を作成するには、元のエントリの値を使用する必要があります。
WriteContext.created() のドキュメントには、エントリが以前に存在した場合にのみ true を返すと記載されています。エントリが以前に存在していた場合、コンテキストから以前の値への参照を取得することは可能ですか (または、WriteContext スコープ内で map.get() を呼び出すなどの他の方法)?
WriteContext.value() は何を参照していますか? 前のエントリの値か、acquireUsingLocked() への呼び出しで提供した潜在的に更新された値?
また、以前にマップにエントリがなく、マップを更新したくない場合は、WriteContext.removeEntry() または WriteContext.dontPutOnClose() を呼び出す必要がありますか?
必要だと考えているロジックの例を次に示します。
string - ヒープ使用量を下げる目的で、.`intern` メソッドよりも java.util.String に Chronicle Map を使用する利点はありますか?
gc の一時停止を減らすために、古い世代のサイズを小さくすることを意図しています。
私の理解では、Chronicle Map はオブジェクトをネイティブ スペースに格納し、(Java 8 以降) String#intern はインターンされた文字列がメタスペースにあるため、同じことを行います。
クロニクル マップを使用する必要があるときはいつでも興味がありました。または、インターン方式に固執しても問題ありません。