クラス ConcurrentMapCacheManager
- 実装されたすべてのインターフェース:
Aware
、BeanClassLoaderAware
、CacheManager
getCache(java.lang.String)
リクエストごとに ConcurrentMapCache
インスタンスを遅延ビルドする CacheManager
実装。また、キャッシュ名のセットが setCacheNames(java.util.Collection<java.lang.String>)
を介して事前に定義されている「静的」モードもサポートしています。実行時に追加のキャッシュ領域を動的に作成することはありません。 基本的な 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
このキャッシュマネージャーが各エントリのコピーを保存するか、すべてのキャッシュの参照を保存するかを返します。void
removeCache
(StringSE name) 指定されたキャッシュをこのキャッシュマネージャーから削除します。void
setAllowNullValues
(boolean allowNullValues) このキャッシュマネージャーのすべてのキャッシュのnull
値を受け入れて変換するかどうかを指定します。void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setCacheNames
(CollectionSE<StringSE> cacheNames) この CacheManager の「静的」モードのキャッシュ名のセットを指定します。void
setStoreByValue
(boolean storeByValue) このキャッシュマネージャーが各エントリのコピー(true
またはそのすべてのキャッシュの参照(false
)を保存するかどうかを指定します。
コンストラクターの詳細
ConcurrentMapCacheManager
public ConcurrentMapCacheManager()動的な ConcurrentMapCacheManager を構築し、リクエストされているキャッシュインスタンスを遅延作成します。ConcurrentMapCacheManager
静的 ConcurrentMapCacheManager を構築し、指定されたキャッシュ名のみのキャッシュを管理します。
メソッドの詳細
setCacheNames
この CacheManager の「静的」モードのキャッシュ名のセットを指定します。キャッシュの数とその名前は、このメソッドの呼び出し後に修正され、実行時にさらにキャッシュ領域が作成されることはありません。
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
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
- パラメーター:
classLoader
- 所有クラスローダー
getCacheNames
インターフェースからコピーされた説明:CacheManager
このマネージャーが知っているキャッシュ名のコレクションを取得します。- 次で指定:
- インターフェース
CacheManager
のgetCacheNames
- 戻り値:
- キャッシュマネージャーが知っているすべてのキャッシュの名前
getCache
インターフェースからコピーされた説明:CacheManager
指定された名前に関連付けられたキャッシュを取得します。ネイティブプロバイダーがサポートしている場合、キャッシュは実行時に遅延して作成される場合があることに注意してください。
- 次で指定:
- インターフェース
CacheManager
のgetCache
- パラメーター:
name
- キャッシュ識別子 (null
であってはなりません)- 戻り値:
- 関連するキャッシュ、またはそのようなキャッシュが存在しないか作成できない場合は
null
removeCache
指定されたキャッシュをこのキャッシュマネージャーから削除します。- パラメーター:
name
- キャッシュの名前- 導入:
- 6.1.15
createConcurrentMapCache
指定されたキャッシュ名の新しい ConcurrentMapCache インスタンスを作成します。- パラメーター:
name
- キャッシュの名前- 戻り値:
- ConcurrentMapCache (またはそのデコレータ)