如何在spring xml文件中启用ehcache统计信息

时间:2011-11-17 19:25:06

标签: java spring ehcache

根据以下配置,我无法在xml文件上启用ehcache统计信息。没有这样的属性来启用ehcache统计信息。

<bean id="cache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
  <property name="cacheName" value="diskCache"/>
  <property name="cacheManager" ref="cacheManager"/>
  <property name="maxElementsInMemory" value="1"/>
  <property name="overflowToDisk" value="true"/>
  <property name="maxElementsOnDisk" value="10"/>
</bean>

Ehcache 2.4.6带有禁用缓存统计信息。

还有其他人有过实施这个的经验吗?

对此有任何帮助或想法将非常感谢!

1 个答案:

答案 0 :(得分:4)

看起来内置的EhCacheFactoryBean不支持设置此标记(我建议您打开feature request)。但是,自己添加它是相对容易的:

package com.example;

public class EhCacheWithStatisticsFactoryBean extends EhCacheFactoryBean {

    private boolean statisticsEnabled;

    @Override
    public void afterPropertiesSet() throws CacheException, IOException {
        super.afterPropertiesSet();
        getObject().setStatisticsEnabled(statisticsEnabled);
    }

    public void setStatisticsEnabled(boolean statisticsEnabled) {
        this.statisticsEnabled = statisticsEnabled;
    }
}

用法:

<bean id="cache" class="com.example.EhCacheWithStatisticsFactoryBean">
  <property name="cacheName" value="diskCache"/>
  <property name="cacheManager" ref="cacheManager"/>
  <property name="maxElementsInMemory" value="1"/>
  <property name="overflowToDisk" value="true"/>
  <property name="maxElementsOnDisk" value="10"/>
  <property name="statisticsEnabled" value="true"/> <!-- HERE -->
</bean>

当然,简单的方法是使用标准的ehcache.xml文件。