本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7592037
建立时间:2006年5月29日




[Spring]用Spring和EHCache实现方法结果缓存所注意的问题
软件技术

lhwork 发表于 2006/12/27 11:54:08

      我们知道,Cache为ehcache.xml配置文件里面所定义的缓存类别,获取某一特定的缓存类别的方法如下:                                      Cache cache= cacheManager.getCache(cacheName);cacheName为想获取的缓存类别名。然后象下面方法把某一对象放入上面定义的缓存:                                      cache.put(new Element(key,(Serializable)value));key为 放入该缓存中的对象的索引值,value为放入该缓存中key所对应的对象。我们看到,放入缓存中的value必须序列化,Java原生类型 char、int ,原生类型的包装类String、Character、Integer、Number...和集合List的实现类ArrayList都已经实现了 Serializable接口,它们都可以直接放到缓存中。这里要注意的是,在方法返回值中经常用到的Iterator,并没有实现 Serializable接口,所以Cache 不能缓存返回值类型为Iterator的方法。       还有一点要注意的是,如果我们要做缓存的方法是在bean的生命周期的初始化阶段调用的(例如setter,init),此时方法缓存拦截器还没被调用执行,那么缓存将不起作用,如做了下面的配置:         <bean id="OrganizationManagerMethodCache" class="org.springframework.aop.framework.ProxyFactoryBean">             <property name="target">                   <bean class="com.wzj.rbac.ServiceFacade.OrganizationManager"  init-method="init" autowire="byName"/>                  </property>             <property name="interceptorNames">                  <list>                       <value>methodCachePointCut</value>                 </list>             </property>          </bean>      在init初始方法里面调用的缓存方法将失效。


阅读全文(4701) | 回复(1) | 编辑 | 精华
 


回复:用Spring和EHCache实现方法结果缓存所注意的问题
软件技术

maohuibo(游客)发表评论于2008/11/9 0:32:44

不错


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.391 second(s), page refreshed 144762236 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号