2

有没有办法将 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;
  }

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

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

如果有办法投射org.ehcache.CacheManagerjavax.cache.CacheManager.

谢谢。

4

1 回答 1

3

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

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

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

于 2018-02-05T13:57:48.240 回答