Infinispan JPA キャッシュ ローダーを実装するにはどうすればよいですか?infinispan API で実装するパターンまたは方法はありますか?
1 に答える
2
Infinispan の既存の CacheLoader 実装のほとんどは、データがストレージを必要とするだけであると想定しており、盲目的にバイトの配列と見なしています。Infinispan の統合 API は、「store(Key,Value)」または「load(Key)」以外のコンテキストの多くを公開しません。少し単純化しすぎていますが、それが核心です。
LuceneCacheLoaderである 1 つの例外があります。これは、Infinispanの Lucene Directory と組み合わせてのみ動作するように設計されています。
- どのタイプが期待されるかを知っています
- ディレクトリの既知のニーズ (アクセス パターンなど) を活用します。
ソースを見てインスピレーションを得てください。読み込みのみを実装したことに注意してください (これは CacheLoader です)。
Infinispan を使用してアプリケーションと CacheLoader の両方を制御する場合は、これらの詳細も利用できます。
トリッキーな側面:
- 同じトランザクションでも複数のキーを書き込んでいる間は、CacheLoader ロジックのスコープ内で一度に 1 つのエントリにアクセスできます -> 関係をマッピングするのが難しい: 一度に 1 つのエンティティを処理し、「接続を復元する」必要があります
- 後書きを使用すると、順不同のエントリを受け取る可能性があります -> 参照整合性を処理する方法がわからない
- write behindを使用すると、同じトランザクション コンテキストを使用できなくなります -> 許容できるでしょうか?
これらを考慮して、あなたはそれを書くことができると確信しています。どのように簡単ですか?それはあなたのアプリに依存します。
汎用ソリューションが機能するかどうかはわかりません。それが可能であることがわかった場合は、プロジェクトへの素晴らしい追加になるので、貢献してください。
于 2012-10-06T17:21:22.260 に答える