クラス ConcurrentMapCacheManager
- 実装されているすべてのインターフェース:
Aware, BeanClassLoaderAware, CacheManager
getCache(String) リクエストごとに ConcurrentMapCache インスタンスを遅延ビルドする CacheManager 実装。また、キャッシュ名のセットが setCacheNames(Collection) を介して事前に定義されている「静的」モードもサポートしています。実行時に追加のキャッシュ領域を動的に作成することはありません。 基本的な CompletableFuture 適応を通じて、早期に決定されたキャッシュミスを使用して、非同期 Cache.retrieve(Object) および Cache.retrieve(Object, Supplier) 操作をサポートします。
メモ: これは決して洗練された CacheManager ではありません。キャッシュ構成オプションはありません。ただし、テストや単純なキャッシュシナリオには役立つ場合があります。高度なローカルキャッシングが必要な場合は、CaffeineCacheManager または JCacheCacheManager を検討してください。
- 導入:
- 3.1
- 作成者:
- Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明動的な ConcurrentMapCacheManager を構築し、リクエストされているキャッシュインスタンスを遅延作成します。ConcurrentMapCacheManager(StringSE... cacheNames) 静的 ConcurrentMapCacheManager を構築し、指定されたキャッシュ名のみのキャッシュを管理します。メソッドのサマリー
修飾子と型メソッド説明protected Cache指定されたキャッシュ名の新しい ConcurrentMapCache インスタンスを作成します。指定された名前に関連付けられたキャッシュを取得します。このマネージャーが知っているキャッシュ名のコレクションを取得します。booleanこのキャッシュマネージャーが、すべてのキャッシュのnull値を受け入れて変換するかどうかを返します。booleanこのキャッシュマネージャーが各エントリのコピーを保存するか、すべてのキャッシュの参照を保存するかを返します。voidremoveCache(StringSE name) 指定されたキャッシュをこのキャッシュマネージャーから削除します。voidこのキャッシュマネージャーのキャッシュをリセットし、オンデマンドで「動的」モードで再作成できるように完全に削除するか、それ以外の場合は単にエントリをクリアします。voidsetAllowNullValues(boolean allowNullValues) このキャッシュマネージャーのすべてのキャッシュのnull値を受け入れて変換するかどうかを指定します。voidsetBeanClassLoader(ClassLoaderSE classLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetCacheNames(@Nullable CollectionSE<StringSE> cacheNames) この CacheManager の「静的」モードのキャッシュ名のセットを指定します。voidsetStoreByValue(boolean storeByValue) このキャッシュマネージャーが各エントリのコピー(trueまたはそのすべてのキャッシュの参照(false)を保存するかどうかを指定します。
コンストラクターの詳細
ConcurrentMapCacheManager
public ConcurrentMapCacheManager()動的な ConcurrentMapCacheManager を構築し、リクエストされているキャッシュインスタンスを遅延作成します。ConcurrentMapCacheManager
静的 ConcurrentMapCacheManager を構築し、指定されたキャッシュ名のみのキャッシュを管理します。
メソッドの詳細
setCacheNames
この CacheManager の「静的」モードのキャッシュ名のセットを指定します。キャッシュの数とその名前は、このメソッドの呼び出し後に修正され、実行時にさらにキャッシュ領域が作成されることはありません。
このメソッドは、指定された名前の既存のキャッシュを置き換え、それ以降のキャッシュ領域の作成を防止しますが、無関係な既存のキャッシュは削除しません。完全なリセットを行うには、このメソッドを呼び出す前に
resetCaches()を呼び出すことを検討してください。nullコレクション引数を使用してこのメソッドを呼び出すと、モードが「動的」にリセットされ、再度キャッシュを作成できるようになります。- 関連事項:
setAllowNullValues
public void setAllowNullValues(boolean allowNullValues) このキャッシュマネージャーのすべてのキャッシュのnull値を受け入れて変換するかどうかを指定します。ConcurrentHashMap 自体が
null値をサポートしていないにもかかわらず、デフォルトは "true" です。内部ホルダーオブジェクトは、ユーザーレベルのnullを格納するために使用されます。メモ: null 値の設定を変更すると、既存のキャッシュがあればすべてリセットされ、新しい null 値の要件でキャッシュが再構成されます。
isAllowNullValues
public boolean isAllowNullValues()このキャッシュマネージャーが、すべてのキャッシュのnull値を受け入れて変換するかどうかを返します。setStoreByValue
public void setStoreByValue(boolean storeByValue) このキャッシュマネージャーが各エントリのコピー(trueまたはそのすべてのキャッシュの参照(false)を保存するかどうかを指定します。デフォルトは "false" なので、値自体が保存され、キャッシュされた値に対して直列化可能な契約は必要ありません。
メモ: 値によるストアの設定を変更すると、既存のキャッシュがあればそれがすべてリセットされ、新しい値によるストアの要件でキャッシュが再構成されます。
- 導入:
- 4.3
isStoreByValue
public boolean isStoreByValue()このキャッシュマネージャーが各エントリのコピーを保存するか、すべてのキャッシュの参照を保存するかを返します。値による保存が有効な場合、キャッシュエントリは直列化可能である必要があります。- 導入:
- 4.3
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
classLoader- 所有クラスローダー
getCache
インターフェースからコピーされた説明:CacheManager指定された名前に関連付けられたキャッシュを取得します。ネイティブプロバイダーがサポートしている場合、キャッシュは実行時に遅延して作成される場合があることに注意してください。
- 次で指定:
- インターフェース
CacheManagerのgetCache - パラメーター:
name- キャッシュ識別子 (nullであってはなりません)- 戻り値:
- 関連するキャッシュ、またはそのようなキャッシュが存在しないか作成できない場合は
null
getCacheNames
インターフェースからコピーされた説明:CacheManagerこのマネージャーが知っているキャッシュ名のコレクションを取得します。- 次で指定:
- インターフェース
CacheManagerのgetCacheNames - 戻り値:
- キャッシュマネージャーが知っているすべてのキャッシュの名前
resetCaches
public void resetCaches()このキャッシュマネージャーのキャッシュをリセットし、オンデマンドで「動的」モードで再作成できるように完全に削除するか、それ以外の場合は単にエントリをクリアします。- 次で指定:
- インターフェース
CacheManagerのresetCaches - 導入:
- 6.2.14
- 関連事項:
removeCache
指定されたキャッシュをこのキャッシュマネージャーから削除します。- パラメーター:
name- キャッシュの名前- 導入:
- 6.1.15
createConcurrentMapCache