问题标签用户 spring MVC 3.1 ehcache 缓存无效

问题描述

我的spring中配置的ehcache<beanid="cacheManagerFactory"class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"><propertyname="configLocation"value="classpath:ehcache.xml"/></bean><beanid="cacheManager"class="org.springframework.cache.ehcache.EhCacheCacheManager"><propertyname="cacheManager"ref="cacheManagerFactory"/></bean>

ehcache.xml的配置<ehcachexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"><diskStorepath="java.io.tmpdir"/><defaultCachemaxElementsInMemory="1000"eternal="false"timeToIdleSeconds="120"timeToLiveSeconds="120"overflowToDisk="false"/><cachename="theCache"maxElementsInMemory="2000"eternal="false"overflowToDisk="true"diskPersistent="true"/><cachename="cacheTest"maxElementsInMemory="2000"eternal="false"overflowToDisk="true"diskPersistent="true"/></ehcache>

下面就是我的service层@Cacheable(value="theCache",key="'customer'")publicCustomerGetCustomerByCid(intcid){System.out.print("----------------------------------------------------------");returncd.GetCustomerByCid(cid);}

结果测试点击两次查询tomcat打印:第一次:DEBUG-Last-Modifiedvaluefor[/jxc/customer/GetCustomerByCid]is:-1----------------------------------------------------------DEBUG-CreatinganewSqlSessionDEBUG-SqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@63921a]wasnotregisteredforsynchronizationbecausesynchronizationisnotactiveDEBUG-FetchingJDBCConnectionfromDataSourceDEBUG-JDBCConnection[jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8,UserName=root@7-PC,MySQL-ABJDBCDriver]willnotbemanagedbySpringDEBUG-oooUsingConnection[jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8,UserName=root@7-PC,MySQL-ABJDBCDriver]DEBUG-==>Preparing:select*fromCustomerwherecid=?DEBUG-==>Parameters:18(Integer)第二次:DEBUG-Last-Modifiedvaluefor[/jxc/customer/GetCustomerByCid]is:-1----------------------------------------------------------DEBUG-CreatinganewSqlSessionDEBUG-SqlSession[org.apache.ibatis.session.defaults.DefaultSqlSession@19cdf24]wasnotregisteredforsynchronizationbecausesynchronizationisnotactiveDEBUG-FetchingJDBCConnectionfromDataSourceDEBUG-JDBCConnection[jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8,UserName=root@7-PC,MySQL-ABJDBCDriver]willnotbemanagedbySpringDEBUG-oooUsingConnection[jdbc:mysql://192.168.1.6:3306/lyjxc?useUnicode=true&characterEncoding=utf-8,UserName=root@7-PC,MySQL-ABJDBCDriver]DEBUG-==>Preparing:select*fromCustomerwherecid=?DEBUG-==>Parameters:18(Integer)很明显是访问了两次数据库,但是我不知道为什么缓存无效,求大牛指教。。。

解决方案

时间: 2024-10-25 13:47:39

问题标签用户 spring MVC 3.1 ehcache 缓存无效的相关文章

springmvc 缓存-spring MVC 3.1 ehcache 缓存无效

问题描述 spring MVC 3.1 ehcache 缓存无效 <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="classpath:ehcache.xml" /> </

spring aop 拦截器 ehcache 缓存加载

问题描述 spring aop 拦截器 ehcache 缓存加载 最近想利用spring aop 与 ehcache 设计一个缓存框架,我的想法是,配置ehcache.xml参数,然后在applicationContext.xml中配置脚本: <bean id="defaultCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> </be

利用Spring MVC轻松实现页面缓存

缓存|页面 Spring的MVC是一个非常灵活的框架,可以无缝集成Struts/WebWork以及Velocity/Tapestry等View技术.Spring的DispatherServlet定义极为灵活,由于是开源框架,我们通过源代码,能轻松定制自己的处理流程. 为了实现页面缓存,可以改写DispatherServlet的doService()方法,这里提出一个解决方案: 利用WrappedResponse获得handler处理后的内容,然后缓存起来,这样在下次请求时,可以直接输出缓存内容.

使用Spring MVC表单标签

概述 在低版本的Spring中,你必须通过JSTL或<spring:bind>将表单对象绑定到HTML表单页面中,对于习惯了Struts表单标签的开发者来说,Spring MVC的这一表现确实让人失望.不过这一情况已经一去不复返了,从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中. 在上一篇文章<Spring MVC的表单控制器>中(http://tech.it16

spring mvc提示错误信息标签,显示不了错误信息

问题描述 spring mvc提示错误信息标签,显示不了错误信息 解决方案 加个try 块试试 然后抛出异常信息 解决方案二: 有可能你的相对路径写错了

Spring MVC框架的高级配置

高级 本文将为您提供关于Spring MVC框架的配置技巧,以帮助管理基于Spring的web应用程序的多个实例.本配置管理主题常被学术界所忽略,但是,这对于现实的web开发尤为重要.本主题并不直接关联任何具体的技术,因此,我们将从最基本的概念开始对这个问题进行说明.下面,我们将根据Spring MVC框架,为基于本技术开发的项目提供一系列的解决方案. Spring配置 人们经常会在一台以上的主机上配置一种Web应用程序.例如,在生产中,一个网站可能只有一个实例.除了此实例外,开发人员可以在用于

Spring MVC 开发快速入门

快速入门 这篇文章将教你快速地上手使用 Spring 框架,如果你手上有一本<Spring in Action>, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求

用Spring MVC来处理向导式复杂表单

引子 我们在网上经常会碰到一些向导式的表单页面,比如 第一步 >> 第二步 >> 第三步-.基本信息 >> 联系方式 >> 兴趣爱好-.它们都是按类型分到多个有序的页面要你来完成填写的.当然,你也可以把它们全部罗列在一个页面里,那样用户就会感觉茫茫然,分不清主次,可能不会很好的予以配合. 然而像 Struts.WebWork 那样的 MVC 框架未提供类似的实现,都需自己采用某种方式来实现向导,可以用层的隐现方式,或逐步把填写的部分数据放 Session 中

Spring MVC开发快速入门

这篇文章将教你快速地上手使用 Spring 框架,如果你手上有一本<Spring in Action>,那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看,否则那将是一场恶梦! 首先,我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后,Spring 将这个请求交给一个名为 he