如何告诉Spring Cache在@Cacheable注释中缓存异常?

时间:2016-10-04 11:13:22

标签: java spring caching spring-cache jcache

我需要3个单独的缓存:

  • 回复一些数据
  • 异常

我已经定义了两个缓存

@Caching(cacheable = {
    @Cacheable(value = "SomeCache", key = "#a1", unless = "#result == null"),
    @Cacheable(value = "SomeNullCache", key = "#a1", unless = "#result != null")})

所以,我必须实施最后一个案例。

JSR-107使用 exceptionCacheName 属性提供@CacheResult注释,但是如何使用Spring Cache执行此操作?我不想将JSR-107和Spring Cache结合起来。

1 个答案:

答案 0 :(得分:2)

缓存抽象不支持通过带注释的方法缓存异常抛出。你的设置看起来很奇怪。为什么要为空值和非空值使用两个不同的区域?

如果需要此类设置,请使用标准注释。

  

我不想将JSR-107和Spring Cache结合起来。

id生成不同(符合规范并保持向后兼容性),我不推荐这样的用法。至少不在同一地区。