All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.infinispan.jcache.annotation.CacheRemoveAllInterceptor Maven / Gradle / Ivy

There is a newer version: 9.1.7.Final
Show newest version
package org.infinispan.jcache.annotation;

import javax.cache.annotation.CacheRemoveAll;
import javax.inject.Inject;
import javax.interceptor.AroundInvoke;
import javax.interceptor.Interceptor;
import javax.interceptor.InvocationContext;

import org.infinispan.commons.logging.LogFactory;
import org.infinispan.jcache.logging.Log;

/**
 * 

{@link javax.cache.annotation.CacheRemoveAll} interceptor implementation. This interceptor uses the following algorithm describes in * JSR-107.

* *

The interceptor that intercepts method annotated with {@code @CacheRemoveAll} must do the following, remove all * entries associated with the cache. The removeAll occurs after the method body is executed. This can be overridden by * specifying a afterInvocation attribute value of false. If afterInvocation is true and the annotated method throws an * exception, the removeAll will not happen.

* * @author Kevin Pollet (C) 2011 SERLI */ @Interceptor @CacheRemoveAll public class CacheRemoveAllInterceptor extends AbstractCacheRemoveAllInterceptor { private static final Log log = LogFactory.getLog(CacheRemoveAllInterceptor.class, Log.class); @Inject public CacheRemoveAllInterceptor(DefaultCacheResolver cacheResolver, CacheKeyInvocationContextFactory contextFactory) { super(cacheResolver, contextFactory); } @AroundInvoke public Object cacheRemoveAll(InvocationContext invocationContext) throws Exception { return super.cacheRemoveAll(invocationContext); } @Override protected Log getLog() { return log; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy