@Target(value=TYPE) @Retention(value=RUNTIME) public @interface CacheDefaults
CacheResult
, CachePut
,
CacheRemove
, and CacheRemoveAll
at the class level. Without
the method level annotations this annotation has no effect.
Following is an example of specifying a default cache name that is used by the annotations on the getDomain and deleteDomain methods. The annotation for getAllDomains would use the "allDomains" cache name specified in the method level annotation.
package my.app;
@CacheDefaults(cacheName="domainCache")
public class DomainDao {
@CacheResult
public Domain getDomain(String domainId, int index) {
...
}
@CacheRemove
public void deleteDomain(String domainId, int index) {
...
}
@CacheResult(cacheName="allDomains")
public List<Domain> getAllDomains() {
...
}
}
Modifier and Type | Optional Element and Description |
---|---|
Class<? extends CacheKeyGenerator> |
cacheKeyGenerator
The
CacheKeyGenerator to use to generate the
GeneratedCacheKey for interacting with the specified Cache. |
String |
cacheName
The default name of the cache for the annotated class
|
Class<? extends CacheResolverFactory> |
cacheResolverFactory
The
CacheResolverFactory used to find the CacheResolver to
use at runtime. |
public abstract String cacheName
If not specified defaults to: package.name.ClassName.methodName(package.ParameterType,package.ParameterType)
Applicable for CacheResult
, CachePut
, CacheRemove
,
and CacheRemoveAll
public abstract Class<? extends CacheResolverFactory> cacheResolverFactory
CacheResolverFactory
used to find the CacheResolver
to
use at runtime.
The default resolver pair will resolve the cache by name from the default
CacheManager
Applicable for CacheResult
, CachePut
, CacheRemove
,
and CacheRemoveAll
public abstract Class<? extends CacheKeyGenerator> cacheKeyGenerator
CacheKeyGenerator
to use to generate the
GeneratedCacheKey
for interacting with the specified Cache.
Defaults to a key generator that uses Arrays.deepHashCode(Object[])
and Arrays.deepEquals(Object[], Object[])
with the array returned by
CacheKeyInvocationContext.getKeyParameters()
Applicable for CacheResult
, CachePut
, and CacheRemove
CacheKey
Copyright © 2014. All Rights Reserved.