public class JCacheAspectSupport extends AbstractCacheInvoker implements InitializingBean
JCacheInterceptor
or an AspectJ aspect.
Use the Spring caching abstraction for cache-related operations. No JSR-107
javax.cache.Cache
or javax.cache.CacheManager
are required to
process standard JSR-107 cache annotations.
The JCacheOperationSource
is used for determining caching operations
A cache aspect is serializable if its JCacheOperationSource
is serializable.
CacheAspectSupport
,
KeyGeneratorAdapter
,
CacheResolverAdapter
Modifier and Type | Class and Description |
---|---|
private class |
JCacheAspectSupport.CacheOperationInvokerAdapter |
Modifier and Type | Field and Description |
---|---|
private JCacheOperationSource |
cacheOperationSource |
private CachePutInterceptor |
cachePutInterceptor |
private CacheRemoveAllInterceptor |
cacheRemoveAllInterceptor |
private CacheRemoveEntryInterceptor |
cacheRemoveEntryInterceptor |
private CacheResultInterceptor |
cacheResultInterceptor |
private boolean |
initialized |
protected Log |
logger |
Constructor and Description |
---|
JCacheAspectSupport() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Invoked by a BeanFactory after it has set all bean properties supplied
(and satisfied BeanFactoryAware and ApplicationContextAware).
|
private CacheOperationInvocationContext<?> |
createCacheOperationInvocationContext(java.lang.Object target,
java.lang.Object[] args,
JCacheOperation<?> operation) |
private java.lang.Object |
execute(CacheOperationInvocationContext<?> context,
CacheOperationInvoker invoker) |
protected java.lang.Object |
execute(CacheOperationInvoker invoker,
java.lang.Object target,
java.lang.reflect.Method method,
java.lang.Object[] args) |
JCacheOperationSource |
getCacheOperationSource()
Return the CacheOperationSource for this cache aspect.
|
private java.lang.Class<?> |
getTargetClass(java.lang.Object target) |
protected java.lang.Object |
invokeOperation(CacheOperationInvoker invoker)
Execute the underlying operation (typically in case of cache miss) and return
the result of the invocation.
|
void |
setCacheOperationSource(JCacheOperationSource cacheOperationSource) |
doClear, doEvict, doGet, doPut, getErrorHandler, setErrorHandler
protected final Log logger
private JCacheOperationSource cacheOperationSource
private boolean initialized
private CacheResultInterceptor cacheResultInterceptor
private CachePutInterceptor cachePutInterceptor
private CacheRemoveEntryInterceptor cacheRemoveEntryInterceptor
private CacheRemoveAllInterceptor cacheRemoveAllInterceptor
public void setCacheOperationSource(JCacheOperationSource cacheOperationSource)
public JCacheOperationSource getCacheOperationSource()
public void afterPropertiesSet()
InitializingBean
This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.
afterPropertiesSet
in interface InitializingBean
protected java.lang.Object execute(CacheOperationInvoker invoker, java.lang.Object target, java.lang.reflect.Method method, java.lang.Object[] args)
private CacheOperationInvocationContext<?> createCacheOperationInvocationContext(java.lang.Object target, java.lang.Object[] args, JCacheOperation<?> operation)
private java.lang.Class<?> getTargetClass(java.lang.Object target)
private java.lang.Object execute(CacheOperationInvocationContext<?> context, CacheOperationInvoker invoker)
protected java.lang.Object invokeOperation(CacheOperationInvoker invoker)
ThrowableWrapper
: the exception can be handled or modified but it
must be wrapped in a ThrowableWrapper
as well.invoker
- the invoker handling the operation being cachedCacheOperationInvoker.invoke()