0

我有一个使用 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>

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

谢谢。

4

1 回答 1

1

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

于 2013-03-25T01:54:45.113 回答