EhCache 3 和 Spring 启动

EhCache 3 and Spring Boot

有没有办法将 EhCache 3 CacheManager (org.ehcache.CacheManager) 抽象为 Spring 的 CacheManager (org.springframework.cache.CacheManager)?

使用 EhCache2,可以通过以下方式实现:

  @Bean
  public org.springframework.cache.CacheManager cacheManager(net.sf.ehcache.CacheManager ehcache) {    
    EhCacheCacheManager cacheManager = new EhCacheCacheManager(ehcache);
    return cacheManager;
  }

提示:我找到了一种将 javax.cache.CacheManager cacheManager 抽象为 Spring 的 CacheManager (org.springframework.cache.CacheManager) 的方法,方法是:

  @Bean
  public org.springframework.cache.CacheManager cacheManager(javax.cache.CacheManager cacheManager) {
    return new JCacheCacheManager(cacheManager);
  }

如果有办法将 org.ehcache.CacheManager 转换为 javax.cache.CacheManager 也会很有帮助。

谢谢。

是的,您应该依赖标准 Java 缓存规范,JSR-107,又名 JCache (javax.cache.CacheManager)

Spring很好的融合了它,Ehcache2和Ehcache3也兼容

请看看这个答案,它还附带了一些简单的例子: