在Spring4上使用ehcache3

Roh*_*hit 2 spring ehcache

有人可以帮助创建一个CacheManager使用Spring JCacheCacheManager通过xml 支持的Ehcache 吗?我有类似的东西.不知道如何javax.cache.CacheManager为Ehcache3 创建一个.

<bean id="myCacheManager"
    class="org.springframework.cache.jcache.JCacheCacheManager">
    <property name="cacheManager" value="..." />
</bean>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Lou*_*met 8

这样做的推荐方法是使用org.springframework.cache.jcache.JCacheManagerFactoryBean你可以注入的一个URI,PropertiesClassLoader.然后,这个工厂bean将使用标准的JCache Caching类来创建javax.cache.CacheManager.

对于Ehcache,URI用于指向ehcache.xml将配置的CacheManager.

因此扩展您的示例配置:

<bean id="jCacheManager" class="org.springframework.cache.jcache.JCacheManagerFactoryBean">
  <property name="cacheManagerUri" value="file://path/to/ehcache.xml"/>
</bean>
<bean id="myCacheManager" class="org.springframework.cache.jcache.JCacheCacheManager">
  <property name="cacheManager" ref="jCacheManager" />
</bean>
Run Code Online (Sandbox Code Playgroud)

有关Ehcache 3/JCache集成的更多信息,请参阅文档.

  • 您的回答对我有用,但为什么我们必须定义两个缓存管理器?您能否提供有关弹簧缓存、JCache 配置、使用 ehcache 作为 JCache 实现的更多详细信息?所有这三个的官方文档确实没有多大帮助。 (2认同)