@Target(value={METHOD,TYPE}) @Retention(value=RUNTIME) @Inherited @Documented @CacheConfig @CacheAnnotation @Repeatable(value=InvalidateOperations.class) public @interface CacheInvalidate
An annotation that can be applied at the type or method level to indicate that the annotated operation should cause the eviction of the given caches.
Modifier and Type | Optional Element and Description |
---|---|
boolean |
all |
boolean |
async
Whether the cache operation should be performed asynchronously and not block the returning value.
|
String[] |
cacheNames
Alias for
CacheConfig.cacheNames() . |
Class<? extends CacheKeyGenerator> |
keyGenerator
Alias for
CacheConfig.keyGenerator() . |
String[] |
parameters
Limit the automatic
CacheKeyGenerator to the given parameter names. |
String[] |
value
Alias for
CacheConfig.cacheNames() . |
@AliasFor(member="cacheNames") public abstract String[] value
CacheConfig.cacheNames()
.@AliasFor(annotation=CacheConfig.class, member="cacheNames") public abstract String[] cacheNames
CacheConfig.cacheNames()
.@AliasFor(annotation=CacheConfig.class, member="keyGenerator") public abstract Class<? extends CacheKeyGenerator> keyGenerator
CacheConfig.keyGenerator()
.public abstract String[] parameters
CacheKeyGenerator
to the given parameter names. Mutually exclusive with
keyGenerator()
public abstract boolean all
public abstract boolean async
true
then any cache errors will not be propagated back to the client and will simply be
logged by default unless the return value itself is a non-blocking type such as
CompletableFuture
.