public class ConcurrentMapCacheManager extends ObjectSE implements CacheManager, BeanClassLoaderAware
getCache(java.lang.String)
リクエストごとに ConcurrentMapCache
インスタンスを遅延ビルドする CacheManager
実装。また、キャッシュ名のセットが setCacheNames(java.util.Collection<java.lang.String>)
を介して事前に定義されている「静的」モードもサポートしています。実行時に追加のキャッシュ領域を動的に作成することはありません。 メモ: これは決して洗練された CacheManager ではありません。キャッシュ構成オプションはありません。ただし、テストや単純なキャッシングシナリオには役立ちます。高度なローカルキャッシュのニーズについては、JCacheCacheManager
、EhCacheCacheManager
、CaffeineCacheManager
を検討してください。
ConcurrentMapCache
コンストラクターと説明 |
---|
ConcurrentMapCacheManager() 動的な ConcurrentMapCacheManager を構築し、リクエストされているキャッシュインスタンスを遅延作成します。 |
ConcurrentMapCacheManager(StringSE... cacheNames) 静的 ConcurrentMapCacheManager を構築し、指定されたキャッシュ名のみのキャッシュを管理します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected Cache | createConcurrentMapCache(StringSE name) 指定されたキャッシュ名の新しい ConcurrentMapCache インスタンスを作成します。 |
Cache | getCache(StringSE name) 指定された名前に関連付けられたキャッシュを取得します。 |
CollectionSE<StringSE> | getCacheNames() このマネージャーが知っているキャッシュ名のコレクションを取得します。 |
boolean | isAllowNullValues() このキャッシュマネージャーが、すべてのキャッシュの null 値を受け入れて変換するかどうかを返します。 |
boolean | isStoreByValue() このキャッシュマネージャーが各エントリのコピーを保存するか、すべてのキャッシュの参照を保存するかを返します。 |
void | setAllowNullValues(boolean allowNullValues) このキャッシュマネージャーのすべてのキャッシュの null 値を受け入れて変換するかどうかを指定します。 |
void | setBeanClassLoader(ClassLoaderSE classLoader) Bean class loader SE を Bean インスタンスに提供するコールバック。 |
void | setCacheNames(CollectionSE<StringSE> cacheNames) この CacheManager の「静的」モードのキャッシュ名のセットを指定します。 |
void | setStoreByValue(boolean storeByValue) このキャッシュマネージャーが各エントリのコピー( true またはそのすべてのキャッシュの参照(false )を保存するかどうかを指定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ConcurrentMapCacheManager()
public ConcurrentMapCacheManager(StringSE... cacheNames)
public void setCacheNames(@Nullable CollectionSE<StringSE> cacheNames)
キャッシュの数とその名前は、このメソッドの呼び出し後に修正され、実行時にさらにキャッシュ領域が作成されることはありません。
null
コレクション引数でこれを呼び出すと、モードが「動的」にリセットされ、キャッシュをさらに作成できるようになります。
public void setAllowNullValues(boolean allowNullValues)
null
値を受け入れて変換するかどうかを指定します。ConcurrentHashMap 自体が null
値をサポートしていないにもかかわらず、デフォルトは "true" です。内部ホルダーオブジェクトは、ユーザーレベルの null
を格納するために使用されます。
メモ: null 値の設定を変更すると、既存のキャッシュがあればすべてリセットされ、新しい null 値の要件でキャッシュが再構成されます。
public boolean isAllowNullValues()
null
値を受け入れて変換するかどうかを返します。public void setStoreByValue(boolean storeByValue)
true
またはそのすべてのキャッシュの参照(false
)を保存するかどうかを指定します。デフォルトは "false" なので、値自体が保存され、キャッシュされた値に対して直列化可能な契約は必要ありません。
メモ: 値によるストアの設定を変更すると、既存のキャッシュがあればそれがすべてリセットされ、新しい値によるストアの要件でキャッシュが再構成されます。
public boolean isStoreByValue()
public void setBeanClassLoader(ClassLoaderSE classLoader)
BeanClassLoaderAware
class loader
SE を Bean インスタンスに提供するコールバック。 通常の Bean プロパティの設定後、ただし InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanClassLoaderAware
の setBeanClassLoader
classLoader
- 所有クラスローダー public CollectionSE<StringSE> getCacheNames()
CacheManager
CacheManager
の getCacheNames
@Nullable public Cache getCache(StringSE name)
CacheManager
ネイティブプロバイダーがサポートしている場合、キャッシュは実行時に遅延して作成される場合があることに注意してください。
CacheManager
の getCache
name
- キャッシュ識別子 (null
であってはなりません)null