查看net.sf.cache.JS107的Ehcahce实现,我试图实现以下代码片段,以将JCache实现生成为Spring托管bean ..
Ehcache Ehcache = new net.sf.ehcache.Cache(...);
net.sf.jsr107cache.Cache cache = new JCache(ehcache);
manager.addJCache(cache);
这是我的经理bean:
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="shared" value="true"/>
</bean>
这是我的Ehcache bean:
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager" ref="cacheManager"/>
<property name="diskPersistent" value="false"/>
</bean>
以下是我创建JCache bean的方法:
<bean id="jcache" class="net.sf.jsr107cache.Cache">
<constructor-arg ref="ehcache"/>
</bean>
我想要的是能够在Spring中调用以下方法将我的JCache应用到Ehcache管理器:
manager.addJCache(cache);
在Spring中必须有办法做到这一点吗?
由于
答案 0 :(得分:1)
不要理会XML,只需使用Java @Configuration
:
@Bean
public Ehcache ehcache() {
return new net.sf.ehcache.Cache(...);
}
@Bean
public net.sf.jsr107cache.Cache jsrCache() {
net.sf.jsr107cache.Cache cache = new JCache(ehcache());
manager.addJCache(cache);
return cache;
}