@Cachable和@CacheEvict在方法上的顺序

时间:2015-12-22 16:45:34

标签: java spring spring-cache

我正在尝试为缓存实现自定义注释。如果某些条件为真,则此注释应该缓存方法结果并刷新它。

onscroll

但问题在于运行驱逐和可缓存的顺序

离。我打电话的时候:

//annotation
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@CacheEvict(
        value = "sessionCache",
        cacheManager = "sessionCacheManager",
        keyGenerator="classNameKeyGenerator",
        condition = "#refresh == true)",
        beforeInvocation = true)
@Cacheable(
        value = "sessionCache",
        cacheManager = "sessionCacheManager", 
        keyGenerator="classNameKeyGenerator")
public @interface SessionCacheable {

}


//usage
@SessionCachable
Object someMethod(boolean refresh)
{
}

所以,在第三次调用缓存被正确驱逐之后,但在我看来,新的结果应该在之后缓存,但不是:/干杯!

0 个答案:

没有答案