public class CompositeCacheManager extends Object implements CacheManager, InitializingBean
CacheManager implementation that iterates over
a given collection of delegate CacheManager instances.
Allows NoOpCacheManager to be automatically added to the end of
the list for handling cache declarations without a backing store. Otherwise,
any custom CacheManager may play that role of the last delegate as
well, lazily creating cache regions for any requested name.
Note: Regular CacheManagers that this composite manager delegates to need
to return null from getCache(String) if they are unaware of
the specified cache name, allowing for iteration to the next delegate in line.
However, most CacheManager implementations fall back to lazy creation
of named caches once requested; check out the specific configuration details
for a 'static' mode with fixed cache names, if available.
setFallbackToNoOpCache(boolean),
ConcurrentMapCacheManager.setCacheNames(java.util.Collection<java.lang.String>)| Constructor and Description |
|---|
CompositeCacheManager()
Construct an empty CompositeCacheManager, with delegate CacheManagers to
be added via the
"cacheManagers" property. |
CompositeCacheManager(CacheManager... cacheManagers)
Construct a CompositeCacheManager from the given delegate CacheManagers.
|
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet()
Invoked by the containing
BeanFactory after it has set all bean properties
and satisfied BeanFactoryAware, ApplicationContextAware etc. |
Cache |
getCache(String name)
Return the cache associated with the given name.
|
Collection<String> |
getCacheNames()
Return a collection of the cache names known by this manager.
|
void |
setCacheManagers(Collection<CacheManager> cacheManagers)
Specify the CacheManagers to delegate to.
|
void |
setFallbackToNoOpCache(boolean fallbackToNoOpCache)
Indicate whether a
NoOpCacheManager should be added at the end of the delegate list. |
public CompositeCacheManager()
"cacheManagers" property.public CompositeCacheManager(CacheManager... cacheManagers)
cacheManagers - the CacheManagers to delegate topublic void setCacheManagers(Collection<CacheManager> cacheManagers)
public void setFallbackToNoOpCache(boolean fallbackToNoOpCache)
NoOpCacheManager should be added at the end of the delegate list.
In this case, any getCache requests not handled by the configured CacheManagers will
be automatically handled by the NoOpCacheManager (and hence never return null).public void afterPropertiesSet()
InitializingBeanBeanFactory after it has set all bean properties
and satisfied BeanFactoryAware, ApplicationContextAware etc.
This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
afterPropertiesSet in interface InitializingBean@Nullable public Cache getCache(String name)
CacheManagergetCache in interface CacheManagername - the cache identifier (must not be null)null if none foundpublic Collection<String> getCacheNames()
CacheManagergetCacheNames in interface CacheManager