论坛首页 Java企业应用论坛

实现oscache不同类型对象不同数量限制策略的功能(附源码)

浏览 1331 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-27  
1、问题描述:目前的oscache的每个GeneralCacheAdministrator只能管理一个cache,而oscache的对象个数容量限制是针对cache的,所以相当于针对GeneralCacheAdministrator的,由于受java内存管理的限制,很多时候发现大对象需要缓存的少一些,小对象缓存的多一些,不同类型的对象的策略不同,而如果根据不同的策略启动不同的GeneralCacheAdministrator时,在集群情况下,会占用很多的udp端口,无为的增加jgroups成员,感觉有些浪费。有鉴于此,将原来的开源的oscache进行了修改,适应GeneralCacheAdministrator可以管理多个cache的功能,依然开源。呵呵
2、解决方法:
a、将GeneralCacheAdministrator的cache成员修改成map类型;
b、在配置文件oscache_config.properties中增加属性:caches=xxx1,20;xxx2,30;xxx3,40
c、修改spring-modules-cache的源文件(v0.8),能够适应增加的caches属性,附源码,只对oscache
d、修改spring配置文件:增加cachename属性,匹配上面提到的caches
<property name="cachingModels">
<props>
  <prop key="getxxx">cachename=xxx1;groups=mygroup1</prop>
</props>
</property>
<property name="flushingModels">
<props>
  <prop key="setxxx">cachename=xxx1;groups=mygroup1</prop>
</property>


可能现在很少人使用这个古董了,但是阻挡不了我的热情。
要是对你有用,请跟贴留名吧。哈哈
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics