Annotation Type CacheInvalidate


  • @InterceptorBinding
    @Target({TYPE,METHOD})
    @Retention(RUNTIME)
    @Repeatable(List.class)
    public @interface CacheInvalidate
    When a method annotated with CacheInvalidate 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 of CompositeCacheKey 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, then CacheInvalidate and finally CacheResult.

    The underlying caching provider can be chosen and configured in the Quarkus application.properties file.

    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String cacheName
      The name of the cache.
    • Element Detail

      • cacheName

        String cacheName
        The name of the cache.