Annotation Type CacheRemoveAll
CacheRemoveAll
is invoked all elements in
the specified cache will be removed via the
Cache.removeAll()
method
The default behavior is to call Cache.removeAll()
after the
annotated method is invoked, this behavior can be changed by setting afterInvocation()
to false in which case Cache.removeAll()
will be called before the annotated method is invoked.
Example of removing all Domain objects from the "domainCache". Cache.removeAll()
will be called after deleteAllDomains() returns
successfully.
package my.app;
public class DomainDao {
@CacheRemoveAll(cacheName="domainCache")
public void deleteAllDomains() {
...
}
}
Exception Handling, only used if afterInvocation()
is true.
- If
evictFor()
andnoEvictFor()
are both empty then all exceptions prevent the removeAll - If
evictFor()
is specified andnoEvictFor()
is not specified then only exceptions that pass an instanceof check against the evictFor list result in a removeAll - If
noEvictFor()
is specified andevictFor()
is not specified then all exceptions that do not pass an instanceof check against the noEvictFor result in a removeAll - If
evictFor()
andnoEvictFor()
are both specified then exceptions that pass an instanceof check against the evictFor list but do not pass an instanceof check against the noEvictFor list result in a removeAll
- Since:
- 1.0
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionboolean
WhenCache.removeAll()
should be called./** The name of the cache.Class
<? extends CacheResolverFactory> TheCacheResolverFactory
used to find theCacheResolver
to use at runtime.
-
Element Details
-
cacheName
String cacheName/** The name of the cache.If not specified defaults first to
CacheDefaults.cacheName()
and if that is not set it defaults to: package.name.ClassName.methodName(package.ParameterType,package.ParameterType)- Default:
""
-
afterInvocation
boolean afterInvocationWhenCache.removeAll()
should be called. If true it is called after the annotated method invocation completes successfully. If false it is called before the annotated method is invoked.Defaults to true.
If true and the annotated method throws an exception the removeAll will not be executed.
- Default:
true
-
cacheResolverFactory
Class<? extends CacheResolverFactory> cacheResolverFactoryTheCacheResolverFactory
used to find theCacheResolver
to use at runtime.The default resolver pair will resolve the cache by name from the default
CacheManager
- Default:
javax.cache.annotation.CacheResolverFactory.class
-
evictFor
Defines zero (0) or more exceptionclasses
, that must be a subclass ofThrowable
, indicating the exception types that must cause a cache eviction. Only used ifafterInvocation()
is true.- Default:
{}
-
noEvictFor
Defines zero (0) or more exceptionClasses
, that must be a subclass ofThrowable
, indicating the exception types that must not cause a cache eviction. Only used ifafterInvocation()
is true.- Default:
{}
-