问题: 在ehcache.xml配置文件中的参数 配置的空闲时间,过期时间都很长, 或者说配置的永不过期, 但是在测试项目过程中, 程序还是会有重新查数据库, 配置参数,配置文件好像不生效问题;

解决:  有可能是 加的ehcache.xml配置文件, 项目并没有真正引用进去, 项目而是加载的默认的配置文件;

有没有真正加载自己写的配置文件, 最简单直接的验证办法是, 修改ehcache.xml 中的 在硬盘上存储对象的路径:    <diskStore path="java.io.tmpdir" />     改为自己建立的文件夹:   <diskStore path="D:\\ehcachedata2" />      然后启动项目, 文件夹会有类的data生成, 则证明加载了该配置文件, 该配置生效;

例: com.test.unit.Unit.data

com.test.users.Users.data

怎样加载 自己的配置文件ehcache.xml, 要根据自己的项目搭建, 加载进去;

引用的ehcache.jar包中有一个ehcache-failsafe.xml 配置文件,如果没有配置ehcache.xml文件,ehcache-failsafe.xml将作为默认的ehcache配置。

默认的二级缓存的配置文件位置:

二级缓存添加的实例:  项目  spring+ Struts+hibernate 的配置文件方式:

1 applicationContext.xml 配置开启二级缓存:

     <property name="hibernateProperties"><props><prop key="hibernate.dialect">${hibernate.dialect}</prop><prop key="hibernate.show_sql">false</prop><prop key="hibernate.cache.use_second_level_cache">true</prop>  <!-- 开启二级缓存 ehcache --><prop key="hibernate.cache.use_query_cache">true</prop>     <!-- 开启查询的二级缓存  --><prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop><prop key="hibernate.generate_statistics">true</prop><!-- 开启二级缓存的统计功能     --><prop key="hibernate.cache.use_structured_entries">true</prop><!-- 设置使用结构化方式来维护缓存项 --><prop key="hibernate.current_session_context_class">thread</prop><!-- 当前session的上下文 保证在同一线程中获取到的是同一个session --><!-- <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>--><!-- 引入配置文件, 一般放对位置, 项目自动引入,不用手动引入 --></props></property><property name="dataSource"><ref bean="dataSource" /></property>

2 pojo对应的xml映射文件 加入 <cache usage="read-write"/>  ;   read-write是缓存策略之一;

<hibernate-mapping auto-import="false"><class name="com.test.doc" table="DOC"dynamic-insert="true" dynamic-update="true" ><cache usage="read-write"/><id name="docId" type="java.lang.Integer" unsaved-value="0"><column name="DocId" /><generator class="sequence"><param name="sequence">S_DOC</param> </generator></id><property name="docTitle" type="java.lang.String"><column name="DocTitle"/></property></class>
</hibernate-mapping>

3:dao下的添加:  query.setCacheable(true); / getHibernateTemplate().setCacheQueries(true);

    public List find(String where){getHibernateTemplate().setCacheQueries(true);return getHibernateTemplate().find(where);}----------public List findHql(String where){List items=new ArrayList();     Session session = getSession();        Query query = session.createQuery(where); query.setCacheable(true);List list= query.list();releaseSession(session);return list;}

4: ehcache.xml:

<?xml version="1.0" encoding="UTF-8"?>
        <ehcache>    
           <diskStore path="D:\\ehcachedata" />
          <defaultCache maxElementsInMemory="5"<!--缓存可以存储的总记录量-->
            eternal="false"<!--缓存是否永远不销毁-->
            overflowToDisk="true"<!--当缓存中的数据达到最大值时,是否把缓存数据写入磁盘-->
            timeToIdleSeconds="15"<!--当缓存闲置时间超过该值,则缓存自动销毁-->
                timeToLiveSeconds="120"<!--缓存创建之后,到达该缓存自动销毁-->
          />
        </ehcache>

具体详解: 参考引用 http://www.blogjava.net/i369/articles/219407.html

Ehcache二级缓配置永不过期,缓存失效问题 ---- 原因没有加载ehcache.xml配置文件,加载了默认的ehcache-failsafe.xml配置文件相关推荐

  1. 006-spring cloud gateway-GatewayAutoConfiguration核心配置-GatewayProperties初始化加载、Route初始化加载...

    一.GatewayProperties 1.1.在GatewayAutoConfiguration中加载 在Spring-Cloud-Gateway初始化时,同时GatewayAutoConfigur ...

  2. 配置文件加载位置||外部配置加载顺序||自动配置原理

    配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...

  3. 对集合变量定义赋值_SpringBoot配置加载原理(自定义加载配置)

    前言 在SpringBoot应用程序中会有很多的地方定义配置文件,如: bootstrap.properties application.properties 或者是SpringCloud中定义的远程 ...

  4. Springboot 配置类( @Configuration) 不能使用@Value注解从application.propertyes中加载值以及Environment为null解决方案

    Springboot 配置类( @Configuration) 不能使用@Value注解从application.propertyes中加载值以及Environment为null解决方案 参考文章: ...

  5. springBoot项目配置文件加载优先级及同配置覆盖问题

    背景: 由于目前网上对于springboot配置文件的加载问题,存在着各种不同的说法.所以导致自己不敢确定到底何种结论才是真正正确的,故专门花费了一些时间进行亲自验证. 验证: 在经过自己对配置文件的 ...

  6. android异步加载图片并缓存到内存和sd卡上,Android批量图片加载经典系列——采用二级缓存、异步加载网络图片...

    http://www.cnblogs.com/jerehedu/p/4560119.html 2015-06-08 09:20 by 杰瑞教育, 232 阅读, 1 评论, 收藏, 编辑一.问题描述 ...

  7. Nacos配置中心-多配置文件加载

    添加配置,加载多个配置文件 spring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.profiles.active=dev# 该配置影响统 ...

  8. Ehcache配置文件加载方式

    2019独角兽企业重金招聘Python工程师标准>>> 会在classpath路径下找ehcache.xml配置文件 CacheManager manager = new Cache ...

  9. 使用IDEA+maven配置SSM项目步骤,以及配置项目过程中遇到的各种坑(SSM配置文件加载问题,使用注解开发问题,maven开发SSM项目步骤)

    问题概览 1. 更改springmvc配置文件的默认位置,但是"classpath:文件路径",路径明明正确,但是就是识别不到,idea报找不到配置文件的错误. 2. 使用myba ...

最新文章

  1. 吴甘沙:天外飞“厕”、红绿灯消失,未来无人驾驶将被重新定义 | AI ProCon 2019
  2. qfiledialog的取消_QT对话框去掉帮助和关闭按钮
  3. png 转数组 工具_推荐8款实用在线制图工具
  4. Struts2封装获取表单数据方式
  5. 用shell获取mysql主从状态_shell监控MySQL主从状态脚本两则
  6. 解决Chrome浏览器高版本无法拖拽离线安装CRX格式插件的问题
  7. 滚蛋吧,2020的糟心事儿!2021,先“拼”为敬!
  8. webpack----entry
  9. 滚动到div的底部?
  10. 一个黑客都要学习什么语言
  11. 平均误差、相对误差百分数、均方根误差
  12. 数学----两个或者多个函数相乘求它们的导数
  13. SCAU------8615 快乐
  14. 用计算机弹歌旧梦一场歌词,早知惊鸿一场何必情深一往是什么歌 《旧梦一场》歌词哪里听...
  15. python tuple用处_Python入门之最少必要知识
  16. 夏天什么适合做引流产品?夏天用什么东西做引流的产品
  17. 多智能体强化学习基本概念
  18. angular 双向绑定和事件绑定实现 输入框内容输出
  19. java-Map接口
  20. zto中通电子面单cpcl打印指令实例

热门文章

  1. Windows直接拖拽文件复制到虚拟机Ubuntu
  2. R包ggalluvial绘制冲击图(alluvial diagram)
  3. 周易六十四卦——泽天夬卦
  4. c#版汉字拼音大全,支持多音字
  5. Windows内核--Rtl字符串API “不同IRQL“(3.2)
  6. 低成本打造初创团队的 DevOps 实践(采用 NAS中的KVM 承载 Gogs + Jenkins + Nexus 服务)【0x02】安装Nexus
  7. Apache ShenYu 集成 RocketMQ 实时采集海量日志的实践
  8. python 内置函数 和 匿名函数
  9. 什么是嵌入式?嵌入式技术应用领域
  10. MC服务器启动脚本写法