首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

spring 3.2.4配备注解ehcache

2013-09-05 
spring 3.2.4配置注解ehcache配置ehcache,ehcache.xml内容如下:ehcache xmlns:xsihttp://www.w3.org/20

spring 3.2.4配置注解ehcache
配置ehcache,ehcache.xml内容如下:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="ehcache.xsd"><defaultCache maxElementsInMemory="10000" eternal="false"timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="false"diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"diskPersistent="false" diskExpiryThreadIntervalSeconds="120"memoryStoreEvictionPolicy="LRU" /><cache name="userCache" maxElementsInMemory="1000" eternal="false"timeToIdleSeconds="100000" timeToLiveSeconds="100000" overflowToDisk="false" /></ehcache>


配置spring管理ehcache:
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:cache="http://www.springframework.org/schema/cache"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd"><!--启用缓存注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效--><cache:annotation-driven cache-manager="cacheManager" /><!-- cacheManager工厂类,指定ehcache.xml的位置 --><bean id="cacheManagerFactory"/><!-- 声明cacheManager --><bean id="cacheManager" /></beans>


public class EhcacheSpringTest {private CacheManager cacheManager;private Cache cache;@Beforepublic void init() {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");EhCacheCacheManager ehCacheManager = (EhCacheCacheManager) ctx.getBean("cacheManager");cacheManager = ehCacheManager.getCacheManager();cache = cacheManager.getCache("userCache");}@Afterpublic void destory() {cacheManager.shutdown();}@Testpublic void testEhcacheString() {String key = "hello";String value = "world";cache.put(new Element(key, value));Element element = cache.get(key);Object obj = element.getObjectValue();Assert.assertEquals(value, obj);System.out.println(obj);}@Testpublic void testEhcacheObj() {String key = "user";User value = new User("zhangsan", "lisi");cache.put(new Element(key, value));Element element = cache.get(key);Object obj = element.getObjectValue();Assert.assertEquals(value, obj);System.out.println(obj);Object objSer = element.getValue();Assert.assertEquals(value, objSer);System.out.println(objSer);}}


重点在上面配置里的那句,【缓存配置一定要声明在spring主配置文件中才会生效】搞了我一晚上。
现在只是写来总结一下。

热点排行