【问题标题】:EhCache 3 and Spring BootEhCache 3 和 Spring Boot
【发布时间】:2018-07-14 13:35:21
【问题描述】:

有没有办法将 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 spring-boot ehcache ehcache-3 cachemanager


    【解决方案1】:

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

    Spring很好地集成了它,Ehcache2和Ehcache3也兼容它

    请看一下这个答案,它还附带了一些简单的例子:https://*.com/a/39340151/24069

    【讨论】: