クラス CompositeCacheManager

java.lang.ObjectSE
org.springframework.cache.support.CompositeCacheManager
実装されているすべてのインターフェース:
InitializingBean, CacheManager

public class CompositeCacheManager extends ObjectSE implements CacheManager, InitializingBean
デリゲート CacheManager インスタンスの特定のコレクションを反復処理する複合 CacheManager 実装。

バッキングストアなしでキャッシュ宣言を処理するために、NoOpCacheManager をリストの最後に自動的に追加できます。そうしないと、カスタム CacheManager が最後のデリゲートのロールを果たし、リクエストされた名前のキャッシュ領域を遅延して作成する可能性があります。

メモ: このコンポジットマネージャーが委譲する通常の CacheManagers は、指定されたキャッシュ名を認識していない場合、getCache(String) から null を返す必要があるため、次のデリゲートへの反復が可能になります。ただし、ほとんどの CacheManager 実装は、リクエストされると名前付きキャッシュの遅延作成にフォールバックします。可能な場合は、固定キャッシュ名を使用した「静的」モードの特定の構成の詳細を確認してください。

導入:
3.1
作成者:
Costin Leau, Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • CompositeCacheManager

      public CompositeCacheManager()
      "cacheManagers" プロパティを介して追加されるデリゲート CacheManagers を使用して、空の CompositeCacheManager を作成します。
    • CompositeCacheManager

      public CompositeCacheManager(CacheManager... cacheManagers)
      指定されたデリゲート CacheManagers から CompositeCacheManager を構築します。
      パラメーター:
      cacheManagers - 委譲する CacheManagers
  • メソッドの詳細

    • setCacheManagers

      public void setCacheManagers(CollectionSE<CacheManager> cacheManagers)
      委譲先の CacheManagers を指定します。
    • setFallbackToNoOpCache

      public void setFallbackToNoOpCache(boolean fallbackToNoOpCache)
      デリゲートリストの最後に NoOpCacheManager を追加するかどうかを指定します。この場合、構成された CacheManagers によって処理されない getCache リクエストは、NoOpCacheManager によって自動的に処理されます(したがって、null を返しません)。
    • afterPropertiesSet

      public void afterPropertiesSet()
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • getCache

      public @Nullable Cache getCache(StringSE name)
      インターフェースからコピーされた説明: CacheManager
      指定された名前に関連付けられたキャッシュを取得します。

      ネイティブプロバイダーがサポートしている場合、キャッシュは実行時に遅延して作成される場合があることに注意してください。

      次で指定:
      インターフェース CacheManagergetCache 
      パラメーター:
      name - キャッシュ識別子 (null であってはなりません)
      戻り値:
      関連するキャッシュ、またはそのようなキャッシュが存在しないか作成できない場合は null 
    • getCacheNames

      public CollectionSE<StringSE> getCacheNames()
      インターフェースからコピーされた説明: CacheManager
      このマネージャーが知っているキャッシュ名のコレクションを取得します。
      次で指定:
      インターフェース CacheManagergetCacheNames 
      戻り値:
      キャッシュマネージャーが知っているすべてのキャッシュの名前
    • resetCaches

      public void resetCaches()
      インターフェースからコピーされた説明: CacheManager
      可能であれば、このキャッシュマネージャーに登録されているすべてのキャッシュを削除し、必要に応じて再作成します。この呼び出し後、CacheManager.getCacheNames() は空になる可能性があり、キャッシュプロバイダはすべてのキャッシュ管理状態を削除します。

      あるいは、実装によっては、キャッシュを実際に削除することなく、既存の固定キャッシュ領域に対して同等のリセットを実行することもできます。この動作は、CacheManager.getCacheNames() が空でない名前セットを公開し続けることで示されますが、対応するキャッシュ領域にはキャッシュエントリが含まれなくなります。

      デフォルトの実装では、登録済みのすべてのキャッシュに対して Cache.clear() を呼び出し、すべてのキャッシュを登録済みのまま保持することで、上記の代替実装パスを満たします。カスタム実装では、実際のキャッシュを削除(必要に応じて再作成)するか、実際のキャッシュプロバイダーレベルでより徹底的なリセットを実行することができます。

      次で指定:
      インターフェース CacheManagerresetCaches 
      関連事項: