クラス CompositeCacheManager
- 実装されているすべてのインターフェース:
InitializingBean, CacheManager
CacheManager インスタンスの特定のコレクションを反復処理する複合 CacheManager 実装。 バッキングストアなしでキャッシュ宣言を処理するために、NoOpCacheManager をリストの最後に自動的に追加できます。そうしないと、カスタム CacheManager が最後のデリゲートのロールを果たし、リクエストされた名前のキャッシュ領域を遅延して作成する可能性があります。
メモ: このコンポジットマネージャーが委譲する通常の CacheManagers は、指定されたキャッシュ名を認識していない場合、getCache(String) から null を返す必要があるため、次のデリゲートへの反復が可能になります。ただし、ほとんどの CacheManager 実装は、リクエストされると名前付きキャッシュの遅延作成にフォールバックします。可能な場合は、固定キャッシュ名を使用した「静的」モードの特定の構成の詳細を確認してください。
- 導入:
- 3.1
- 作成者:
- Costin Leau, Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明"cacheManagers"プロパティを介して追加されるデリゲート CacheManagers を使用して、空の CompositeCacheManager を作成します。CompositeCacheManager(CacheManager... cacheManagers) 指定されたデリゲート CacheManagers から CompositeCacheManager を構築します。方法の概要
修飾子と型メソッド説明void指定された名前に関連付けられたキャッシュを取得します。このマネージャーが知っているキャッシュ名のコレクションを取得します。void可能であれば、このキャッシュマネージャーから登録済みのすべてのキャッシュを削除し、必要に応じて再作成します。voidsetCacheManagers(CollectionSE<CacheManager> cacheManagers) 委譲先の CacheManagers を指定します。voidsetFallbackToNoOpCache(boolean fallbackToNoOpCache) デリゲートリストの最後にNoOpCacheManagerを追加するかどうかを指定します。
コンストラクターの詳細
CompositeCacheManager
public CompositeCacheManager()"cacheManagers"プロパティを介して追加されるデリゲート CacheManagers を使用して、空の CompositeCacheManager を作成します。CompositeCacheManager
指定されたデリゲート CacheManagers から CompositeCacheManager を構築します。- パラメーター:
cacheManagers- 委譲する CacheManagers
メソッドの詳細
setCacheManagers
委譲先の CacheManagers を指定します。setFallbackToNoOpCache
public void setFallbackToNoOpCache(boolean fallbackToNoOpCache) デリゲートリストの最後にNoOpCacheManagerを追加するかどうかを指定します。この場合、構成された CacheManagers によって処理されないgetCacheリクエストは、NoOpCacheManagerによって自動的に処理されます(したがって、nullを返しません)。afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet
getCache
インターフェースからコピーされた説明:CacheManager指定された名前に関連付けられたキャッシュを取得します。ネイティブプロバイダーがサポートしている場合、キャッシュは実行時に遅延して作成される場合があることに注意してください。
- 次で指定:
- インターフェース
CacheManagerのgetCache - パラメーター:
name- キャッシュ識別子 (nullであってはなりません)- 戻り値:
- 関連するキャッシュ、またはそのようなキャッシュが存在しないか作成できない場合は
null
getCacheNames
インターフェースからコピーされた説明:CacheManagerこのマネージャーが知っているキャッシュ名のコレクションを取得します。- 次で指定:
- インターフェース
CacheManagerのgetCacheNames - 戻り値:
- キャッシュマネージャーが知っているすべてのキャッシュの名前
resetCaches
public void resetCaches()インターフェースからコピーされた説明:CacheManager可能であれば、このキャッシュマネージャーに登録されているすべてのキャッシュを削除し、必要に応じて再作成します。この呼び出し後、CacheManager.getCacheNames()は空になる可能性があり、キャッシュプロバイダはすべてのキャッシュ管理状態を削除します。あるいは、実装によっては、キャッシュを実際に削除することなく、既存の固定キャッシュ領域に対して同等のリセットを実行することもできます。この動作は、
CacheManager.getCacheNames()が空でない名前セットを公開し続けることで示されますが、対応するキャッシュ領域にはキャッシュエントリが含まれなくなります。デフォルトの実装では、登録済みのすべてのキャッシュに対して
Cache.clear()を呼び出し、すべてのキャッシュを登録済みのまま保持することで、上記の代替実装パスを満たします。カスタム実装では、実際のキャッシュを削除(必要に応じて再作成)するか、実際のキャッシュプロバイダーレベルでより徹底的なリセットを実行することができます。- 次で指定:
- インターフェース
CacheManagerのresetCaches - 関連事項: