Class EhcacheCacheManager
java.lang.Object
io.leandev.appfuse.cache.adapter.ehcache.EhcacheCacheManager
- All Implemented Interfaces:
CacheManager, AutoCloseable
Ehcache 快取管理器
實作 CacheManager 介面,包裝 Ehcache 3.x CacheManager。
- Since:
- 1.0
-
Constructor Summary
ConstructorsConstructorDescription使用預設配置建構管理器(未啟用管制)EhcacheCacheManager(org.ehcache.CacheManager ehcacheManager) 使用指定的 Ehcache 管理器建構(未啟用管制)EhcacheCacheManager(org.ehcache.CacheManager ehcacheManager, MemoryBudget memoryBudget) 使用指定的 Ehcache 管理器與記憶體預算建構 -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()關閉管理器,釋放所有資源<K,V> Cache <K, V> createCache(CacheConfiguration<K, V> configuration) 建立快取void停用此管理器下的所有快取(拉總閘)voiddisableCache(String name) 停用指定名稱的單一快取void啟用此管理器下的所有快取(放總閘)voidenableCache(String name) 啟用指定名稱的單一快取<K,V> Cache <K, V> 取得快取取得所有快取名稱org.ehcache.CacheManager取得底層 Ehcache 管理器(供內部使用)boolean檢查快取是否存在booleanisCacheEnabled(String name) 查詢指定快取的有效服務狀態(總閘 AND 個別開關)boolean查詢管理器總閘是否為啟用voidremoveCache(String name) 移除快取
-
Constructor Details
-
EhcacheCacheManager
public EhcacheCacheManager()使用預設配置建構管理器(未啟用管制) -
EhcacheCacheManager
public EhcacheCacheManager(org.ehcache.CacheManager ehcacheManager) 使用指定的 Ehcache 管理器建構(未啟用管制)- Parameters:
ehcacheManager- Ehcache 管理器實例
-
EhcacheCacheManager
使用指定的 Ehcache 管理器與記憶體預算建構- Parameters:
ehcacheManager- Ehcache 管理器實例memoryBudget- 記憶體預算(null 表示未啟用管制)
-
-
Method Details
-
createCache
Description copied from interface:CacheManager建立快取- Specified by:
createCachein interfaceCacheManager- Type Parameters:
K- 鍵的型別V- 值的型別- Parameters:
configuration- 快取配置- Returns:
- 快取實例
-
getCache
Description copied from interface:CacheManager取得快取- Specified by:
getCachein interfaceCacheManager- Type Parameters:
K- 鍵的型別V- 值的型別- Parameters:
name- 快取名稱keyType- 鍵的型別valueType- 值的型別- Returns:
- 快取實例,若不存在則返回 null
-
removeCache
Description copied from interface:CacheManager移除快取- Specified by:
removeCachein interfaceCacheManager- Parameters:
name- 快取名稱
-
getCacheNames
Description copied from interface:CacheManager取得所有快取名稱- Specified by:
getCacheNamesin interfaceCacheManager- Returns:
- 快取名稱集合
-
hasCache
Description copied from interface:CacheManager檢查快取是否存在- Specified by:
hasCachein interfaceCacheManager- Parameters:
name- 快取名稱- Returns:
- true 若快取存在
-
close
public void close()Description copied from interface:CacheManager關閉管理器,釋放所有資源- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCacheManager
-
disableAll
public void disableAll()Description copied from interface:CacheManager停用此管理器下的所有快取(拉總閘)
語意為邏輯旁路、不清空資料:停用期間所有 managed 快取的
get回null(強制 miss)、put被忽略;底層資料保留,enableAll()後即可再服務。停用後新建立(含懶建)的 managed 快取也自動受此總閘管制。主要供除錯/測試「強制讀資料源」。預設實作拋
UnsupportedOperationException;具管理能力的實作(如內建 Ehcache)覆寫之。- Specified by:
disableAllin interfaceCacheManager
-
enableAll
public void enableAll()Description copied from interface:CacheManager啟用此管理器下的所有快取(放總閘)
僅翻回總閘,不會覆蓋個別快取以
CacheManager.disableCache(String)設定的停用狀態。預設實作拋
UnsupportedOperationException;具管理能力的實作覆寫之。- Specified by:
enableAllin interfaceCacheManager
-
isEnabled
public boolean isEnabled()Description copied from interface:CacheManager查詢管理器總閘是否為啟用
預設實作回 true(不具管理能力的實作視為恆啟用)。
- Specified by:
isEnabledin interfaceCacheManager- Returns:
- true 若總閘為啟用
-
disableCache
Description copied from interface:CacheManager停用指定名稱的單一快取
與總閘正交:即使總閘啟用,被指名的快取仍停用。可在快取建立之前先指名, 之後懶建的同名快取會以停用狀態誕生。
預設實作拋
UnsupportedOperationException;具管理能力的實作覆寫之。- Specified by:
disableCachein interfaceCacheManager- Parameters:
name- 快取名稱
-
enableCache
Description copied from interface:CacheManager啟用指定名稱的單一快取
預設實作拋
UnsupportedOperationException;具管理能力的實作覆寫之。- Specified by:
enableCachein interfaceCacheManager- Parameters:
name- 快取名稱
-
isCacheEnabled
Description copied from interface:CacheManager查詢指定快取的有效服務狀態(總閘 AND 個別開關)
預設實作回
CacheManager.isEnabled()。- Specified by:
isCacheEnabledin interfaceCacheManager- Parameters:
name- 快取名稱- Returns:
- true 若該快取目前會服務(總閘與個別開關皆啟用)
-
getEhcacheManager
public org.ehcache.CacheManager getEhcacheManager()取得底層 Ehcache 管理器(供內部使用)- Returns:
- Ehcache 管理器實例
-