Annotation Interface CachePut


An annotation that can be applied at the type or method level to indicate that the annotated operation should cause the return value to be cached within the given cache name. Unlike Cacheable this annotation will never skip the original invocation.

Since:
1.0
Author:
Graeme Rocher
  • Element Details

    • value

      @AliasFor(member="cacheNames") String[] value
      Returns:
      The cache names
      Default:
      {}
    • cacheNames

      @AliasFor(annotation=CacheConfig.class, member="cacheNames") String[] cacheNames
      Returns:
      The cache names
      Default:
      {}
    • keyGenerator

      @AliasFor(annotation=CacheConfig.class, member="keyGenerator") Class<? extends CacheKeyGenerator> keyGenerator
      Returns:
      The key generator class
      Default:
      io.micronaut.cache.interceptor.DefaultCacheKeyGenerator.class
    • parameters

      String[] parameters
      Limit the automatic CacheKeyGenerator to the given parameter names. Mutually exclusive with keyGenerator()
      Returns:
      The parameter names that make up the key.
      Default:
      {}
    • async

      boolean async

      Whether the CachePut operation should be performed asynchronously and not block the returning value

      The value if async impacts behaviour in the following ways:

      • For blocking return types when the value is false the method will not return until the value has been written and any cache write errors will be propagated back to the client.
      • For blocking return types when the value is true the method will return prior to cache writes occurring and errors will be logged via the AsyncCacheErrorHandler.
      • When the return type is a CompletableFuture and the value is false the future will not complete until the CachePut operation is complete.
      • When the return type is a CompletableFuture and the value is true the future will complete prior to any CachePut operations completing and the operations will be executing asynchronously with errors logged by AsyncCacheErrorHandler.
      Returns:
      True if cache writes should be done asynchronously
      Default:
      false
    • condition

      String condition
      Evaluated expression that can be used to indicate whether the value should be cached. Will be evaluated each time the method is called, and if the condition evaluates to false the cache will not be used.
      Returns:
      The condition
      Since:
      4.2.0
      See Also:
      Default:
      ""