In the case of a the javax.cache.annotation.CacheResult annotation,
if the cache can satisfy the request a result is returned by the method from
cache, not from method execution. For the mutative annotations such as
javax.cache.annotation.CacheResult the annotation allows the cached
value to be mutated so that it will be correct the next time
javax.cache.annotation.CacheResult is used.
Any operations against a cache via an annotation will have the same behaviour
as if the javax.cache.annotation.CacheResult methods were used. So
if the same underlying cache is used for an annotation and a direct API call,
the same data would be returned. Annotations therefore provide an additional
API for interacting with caches.
To use these annotations you'll need a library or framework that processes these annotations and intercepts calls to your application objects to provide the caching behaviour. This would commonly be provided by a dependency injection framework such as defined by CDI in Java EE.
| Modifier and Type | Interface and Description |
|---|---|
| public interface | CacheInvocationContext<
The type of annotation this context information is for. One of
A extends Annotation>CacheResult, CachePut, CacheRemove, or CacheRemoveAll.Runtime information about an intercepted method invocation for a method
annotated with
Used with |
| public interface | CacheInvocationParameter
A parameter to an intercepted method invocation. |
| public interface | CacheKeyGenerator
Generates a |
| public interface | CacheKeyInvocationContext<
The type of annotation this context information is for. One of
A extends Annotation>CacheResult, CachePut, or CacheRemove.Runtime information about an intercepted method invocation for a method
annotated with |
| public interface | CacheMethodDetails<
The type of annotation this context information is for. One of
A extends Annotation>CacheResult, CachePut, CacheRemove, or
CacheRemoveAll.Static information about a method annotated with one of:
Used with |
| public interface | CacheResolver
Determines the |
| public interface | CacheResolverFactory
Determines the |
| public interface | GeneratedCacheKey
A |
| Modifier and Type | Annotation and Description |
|---|---|
| public @interface | CacheDefaults
Allows the configuration of defaults for |
| public @interface | CacheKey
Marks a method argument as part of the cache key. |
| public @interface | CachePut
When a method annotated with |
| public @interface | CacheRemove
When a method annotated with |
| public @interface | CacheRemoveAll
When a method annotated with
The default behavior is to call |
| public @interface | CacheResult
When a method annotated with |
| public @interface | CacheValue
Marks the parameter to be cached for a method annotated with |