Package io.quarkus.cache
Annotation Type CacheInvalidate
-
@InterceptorBinding @Target({TYPE,METHOD}) @Retention(RUNTIME) @Repeatable(List.class) public @interface CacheInvalidate
When a method annotated withCacheInvalidate
is invoked, Quarkus will compute a cache key and use it to try to remove an existing entry from the cache.The cache key is computed using the following logic:
- If a
CacheKeyGenerator
is specified with this annotation, then it is used to generate the cache key. The@CacheKey
annotations that might be present on some of the method arguments are ignored. - Otherwise, if the method has no arguments, then the cache key is an instance of
DefaultCacheKey
built from the cache name. - Otherwise, if the method has exactly one argument, then that argument is the cache key.
- Otherwise, if the method has multiple arguments but only one annotated with
@CacheKey
, then that annotated argument is the cache key. - Otherwise, if the method has multiple arguments annotated with
@CacheKey
, then the cache key is an instance ofCompositeCacheKey
built from these annotated arguments. - Otherwise, the cache key is an instance of
CompositeCacheKey
built from all the method arguments.
If the key does not identify any cache entry, nothing will happen.
This annotation can be combined with multiple other caching annotations on a single method. Caching operations will always be executed in the same order:
CacheInvalidateAll
first, thenCacheInvalidate
and finallyCacheResult
.The underlying caching provider can be chosen and configured in the Quarkus
application.properties
file. - If a
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description Class<? extends CacheKeyGenerator>
keyGenerator
TheCacheKeyGenerator
implementation to use to generate a cache key.
-
-
-
Element Detail
-
cacheName
String cacheName
The name of the cache.
-
-
-
keyGenerator
Class<? extends CacheKeyGenerator> keyGenerator
TheCacheKeyGenerator
implementation to use to generate a cache key.- Default:
- io.quarkus.cache.runtime.UndefinedCacheKeyGenerator.class
-
-