消息关闭
    暂无新消息!
1.我使用的框架是srpingmvc+mybatis,然后想使用ehcache做二级缓存。

2.在网上找了很多方法,使用的方法如下:

(1)首先在springmvc.xml配置了
<bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
        <property name="configLocation" value="classpath:com/ssm/web/config/spring/ehcache.xml"/>
    </bean>
    <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
        <property name="cacheManager" ref="cacheManagerFactory"/>
    </bean>
(2)ehcache.xml配置
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd" updateCheck="false">
    <diskStore path="F:\\ehcache"/>
<defaultCache
        maxElementsInMemory="10"
        maxElementsOnDisk="10000"
        eternal="false"
        timeToIdleSeconds="300"
        timeToLiveSeconds="300"
        overflowToDisk="true"
        diskPersistent="true"
        memoryStoreEvictionPolicy="LRU">
   </defaultCache>
</ehcache>
(3)mapper.xml编写sql语句的地方加入
<!--mybatis ehcache缓存配置 -->
 <!-- 以下两个<cache>标签二选一,第一个可以输出日志,第二个不输出日志 -->
   <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>
 <!--<cache type="org.mybatis.caches.ehcache.EhcacheCache"/> -->

做完以上的步骤就可以用了。
但有个问题是:我自己写的ehcache,xml的目录生成了,但是缓存的参数设置全部无效,全部使用的是ehcache-core.jar中的ehcache-failsefe.xml文件的配置,非常的奇怪,我自己设置的缓存有效时间是5分钟,默认的ehcache-failsefe.xml文件的配置是2分钟,实际测试时用的始终是默认的配置文件,但我自己设置的ehcache.xml的目录F盘有生成了一个文件夹,不过是一个空文件夹。

为什么会出现这样的问题呢?请大神们教教小弟,真的很不理解



2个回答

︿ 2
如果使用注解方式的话,还用不用在映射文件里加 <cache type="org.mybatis.caches.ehcache.LoggingEhcache"></cache>这句呢?