0

キャッシュを動的に作成/削除できるInfinispanの組み込みキャッシュアーキテクチャを使用しています。

ユーザーが存在しないキャッシュを取得しようとすると、例外を取得する必要がありますが、EmbeddedCacheManagerAPIはこれを支援していません。このAPIは2つのオプションを提供します

  • get(String name, true)-取得して作成します
  • get(String name, false)取得するが作成しない

私のアプローチ?ユーザーが単純にキャッシュを取得する場合はget(String name, false)、を使用し、ユーザーがキャッシュを作成する場合はを使用しますget(String name, true)。ここまでは順調ですね。

ここで問題が発生します。一部のキャッシュはアプリケーションによって作成されませんが、XMLで定義されます。したがって、ユーザーがこれらの「組み込み」キャッシュの1つを使用get(String name, false)して取得しても、キャッシュは取得されません。

XMLで定義されたキャッシュを識別できれば、これらを解決できます。

注:現時点では、XMLで定義されているキャッシュの名前の前に付けていますが、これはコードの抽象化にとって醜いものであり、非常に面倒になっています。

4

0 に答える 0