Ehcache经理

时间:2013-03-18 10:27:22

标签: spring ehcache

我有一个使用JDBCTemplate和Hibernate的应用程序。

这两个都配置为使用ehcache但抛出异常:

org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:

使用spring xml配置的JDBCTemplate 使用hibernate.cfg.xml配置Hibernate

请帮忙。

我尝试在ehcache.xml中禁用默认缓存但是失败了,我将共享属性设置为true,这也导致失败。

<?xml version="1.0" encoding="UTF-8"?>

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false">

    <diskStore path="java.io.tmpdir" />

    <!--<defaultCache eternal="true" maxElementsInMemory="50000"
        overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0"
        timeToLiveSeconds="0" memoryStoreEvictionPolicy="LRU" 
        />
    -->

    <cache name="genericDao" eternal="false" maxElementsInMemory="50000"
        overflowToDisk="false" memoryStoreEvictionPolicy="LFU" />

    <cache name="reportDao" eternal="false" maxElementsInMemory="50000"
        timeToIdleSeconds="28800" timeToLiveSeconds="28800"
        overflowToDisk="false" memoryStoreEvictionPolicy="LFU" />


 </ehcache>

<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> 
        <property name="configLocation" value="WEB-INF/ehcache/ehcache.xml"></property>
        <property name="shared" value="true"></property>
    </bean>

    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
        <property name="cacheManager" ref="ehcache"></property>
    </bean>

在这种情况下如何提供唯一名称?

感谢。

1 个答案:

答案 0 :(得分:1)

使用不同的名称创建两个ehcache.xml配置。