@Target(value=TYPE) @Retention(value=RUNTIME) @Documented public @interface CacheConfig
@CacheConfig
provides a mechanism for sharing common cache-related
settings at the class level.
When this annotation is present on a given class, it provides a set of default settings for any cache operation defined in that class.
Cacheable
Modifier and Type | Optional Element and Description |
---|---|
String |
cacheManager
The bean name of the custom
CacheManager to use to
create a default CacheResolver if none
is set already. |
String[] |
cacheNames
Names of the default caches to consider for caching operations defined
in the annotated class.
|
String |
cacheResolver
The bean name of the custom
CacheResolver to use. |
String |
keyGenerator
The bean name of the default
KeyGenerator to
use for the class. |
public abstract String[] cacheNames
If none is set at the operation level, these are used instead of the default.
Names may be used to determine the target cache(s), to be resolved via the
configured cacheResolver()
which typically delegates to
CacheManager.getCache(java.lang.String)
.
For further details see Cacheable.cacheNames()
.
public abstract String keyGenerator
KeyGenerator
to
use for the class.
If none is set at the operation level, this one is used instead of the default.
The key generator is mutually exclusive with the use of a custom key. When such key is defined for the operation, the value of this key generator is ignored.
public abstract String cacheManager
CacheManager
to use to
create a default CacheResolver
if none
is set already.
If no resolver and no cache manager are set at the operation level, and no cache
resolver is set via cacheResolver()
, this one is used instead of the default.
SimpleCacheResolver
public abstract String cacheResolver
CacheResolver
to use.
If no resolver and no cache manager are set at the operation level, this one is used instead of the default.