Class DefaultJCacheOperationSource
- java.lang.Object
- org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource
- org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
- org.springframework.cache.jcache.interceptor.DefaultJCacheOperationSource
- All Implemented Interfaces:
Aware,BeanFactoryAware,SmartInitializingSingleton,JCacheOperationSource
public class DefaultJCacheOperationSource extends AnnotationJCacheOperationSource implements BeanFactoryAware, SmartInitializingSingleton
The defaultJCacheOperationSourceimplementation delegating default operations to configurable services with sensible defaults when not present.- Since:
- 4.1
- Author:
- Stephane Nicoll, Juergen Hoeller
Field Summary
Fields inherited from class org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource
logger
Constructor Summary
Constructors Constructor Description DefaultJCacheOperationSource()Construct a newDefaultJCacheOperationSourcewith the default key generator.DefaultJCacheOperationSource(Supplier<CacheManager> cacheManager, Supplier<CacheResolver> cacheResolver, Supplier<CacheResolver> exceptionCacheResolver, Supplier<KeyGenerator> keyGenerator)Construct a newDefaultJCacheOperationSourcewith the given cache manager, cache resolver and key generator suppliers, applying the corresponding default if a supplier is not resolvable.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterSingletonsInstantiated()Invoked right at the end of the singleton pre-instantiation phase, with a guarantee that all regular singleton beans have been created already.protected <T> TgetBean(Class<T> type)Locate or create an instance of the specified cache strategytype.CacheManagergetCacheManager()Return the specified cache manager to use, if any.CacheResolvergetCacheResolver()Return the specified cache resolver to use, if any.protected CacheManagergetDefaultCacheManager()protected CacheResolvergetDefaultCacheResolver()Return the defaultCacheResolverif none is set.protected CacheResolvergetDefaultExceptionCacheResolver()Return the default exceptionCacheResolverif none is set.protected KeyGeneratorgetDefaultKeyGenerator()Return the defaultKeyGeneratorif none is set.CacheResolvergetExceptionCacheResolver()Return the specified exception cache resolver to use, if any.KeyGeneratorgetKeyGenerator()Return the specified key generator to use.voidsetBeanFactory(BeanFactory beanFactory)Callback that supplies the owning factory to a bean instance.voidsetCacheManager(CacheManager cacheManager)Set the defaultCacheManagerto use to lookup cache by name.voidsetCacheResolver(CacheResolver cacheResolver)Set theCacheResolverto resolve regular caches.voidsetExceptionCacheResolver(CacheResolver exceptionCacheResolver)Set theCacheResolverto resolve exception caches.voidsetKeyGenerator(KeyGenerator keyGenerator)Set the defaultKeyGenerator.Methods inherited from class org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
createCachePutOperation, createCacheRemoveAllOperation, createCacheRemoveOperation, createCacheResultOperation, determineCacheName, determineCacheResolverFactory, determineKeyGenerator, findCacheOperation, generateDefaultCacheName, getCacheDefaults, getCacheResolver, getExceptionCacheResolver
Methods inherited from class org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource
allowPublicMethodsOnly, getCacheOperation
Constructor Detail
DefaultJCacheOperationSource
public DefaultJCacheOperationSource()
Construct a newDefaultJCacheOperationSourcewith the default key generator.- See Also:
SimpleKeyGenerator
DefaultJCacheOperationSource
public DefaultJCacheOperationSource(@Nullable Supplier<CacheManager> cacheManager, @Nullable Supplier<CacheResolver> cacheResolver, @Nullable Supplier<CacheResolver> exceptionCacheResolver, @Nullable Supplier<KeyGenerator> keyGenerator)
Construct a newDefaultJCacheOperationSourcewith the given cache manager, cache resolver and key generator suppliers, applying the corresponding default if a supplier is not resolvable.- Since:
- 5.1
Method Detail
setCacheManager
public void setCacheManager(@Nullable CacheManager cacheManager)
Set the defaultCacheManagerto use to lookup cache by name. Only mandatory if the cache resolver has not been set.
getCacheManager
@Nullable public CacheManager getCacheManager()
Return the specified cache manager to use, if any.
setCacheResolver
public void setCacheResolver(@Nullable CacheResolver cacheResolver)
Set theCacheResolverto resolve regular caches. If none is set, a default implementation using the specified cache manager will be used.
getCacheResolver
@Nullable public CacheResolver getCacheResolver()
Return the specified cache resolver to use, if any.
setExceptionCacheResolver
public void setExceptionCacheResolver(@Nullable CacheResolver exceptionCacheResolver)
Set theCacheResolverto resolve exception caches. If none is set, a default implementation using the specified cache manager will be used.
getExceptionCacheResolver
@Nullable public CacheResolver getExceptionCacheResolver()
Return the specified exception cache resolver to use, if any.
setKeyGenerator
public void setKeyGenerator(KeyGenerator keyGenerator)
Set the defaultKeyGenerator. If none is set, aSimpleKeyGeneratorhonoring the JSR-107CacheKeyandCacheValuewill be used.
getKeyGenerator
public KeyGenerator getKeyGenerator()
Return the specified key generator to use.
setBeanFactory
public void setBeanFactory(BeanFactory beanFactory)
Description copied from interface:BeanFactoryAwareCallback that supplies the owning factory to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
setBeanFactoryin interfaceBeanFactoryAware- Parameters:
beanFactory- owning BeanFactory (nevernull). The bean can immediately call methods on the factory.- See Also:
BeanInitializationException
afterSingletonsInstantiated
public void afterSingletonsInstantiated()
Description copied from interface:SmartInitializingSingletonInvoked right at the end of the singleton pre-instantiation phase, with a guarantee that all regular singleton beans have been created already.ListableBeanFactory.getBeansOfType(java.lang.Class<T>)calls within this method won't trigger accidental side effects during bootstrap.NOTE: This callback won't be triggered for singleton beans lazily initialized on demand after
BeanFactorybootstrap, and not for any other bean scope either. Carefully use it for beans with the intended bootstrap semantics only.- Specified by:
afterSingletonsInstantiatedin interfaceSmartInitializingSingleton
getBean
protected <T> T getBean(Class<T> type)
Description copied from class:AnnotationJCacheOperationSourceLocate or create an instance of the specified cache strategytype.- Specified by:
getBeanin classAnnotationJCacheOperationSource- Parameters:
type- the type of the bean to manage- Returns:
- the required bean
getDefaultCacheManager
protected CacheManager getDefaultCacheManager()
getDefaultCacheResolver
protected CacheResolver getDefaultCacheResolver()
Description copied from class:AnnotationJCacheOperationSourceReturn the defaultCacheResolverif none is set.- Specified by:
getDefaultCacheResolverin classAnnotationJCacheOperationSource
getDefaultExceptionCacheResolver
protected CacheResolver getDefaultExceptionCacheResolver()
Description copied from class:AnnotationJCacheOperationSourceReturn the default exceptionCacheResolverif none is set.- Specified by:
getDefaultExceptionCacheResolverin classAnnotationJCacheOperationSource
getDefaultKeyGenerator
protected KeyGenerator getDefaultKeyGenerator()
Description copied from class:AnnotationJCacheOperationSourceReturn the defaultKeyGeneratorif none is set.- Specified by:
getDefaultKeyGeneratorin classAnnotationJCacheOperationSource