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


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


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

我的分类(专题)

日志更新

最新评论

留言板

链接

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




[Cache]EHCache 初步使用指南
软件技术

lhwork 发表于 2006/12/27 11:37:16

写的比较初级,后续将加入对配置文件,内存/磁盘存储,优化,虚拟机宕机,日志等的说明1. EHCache 的特点,系统要求及安装是一个纯Java ,过程中(也可以理解成插入式)缓存实现Hibernate2.1,Spring支持EHcache嵌入,自我感觉Hibernate2.1 + EHCache 很过瘾。。(测试结果比Hibernate+JCS 好多了)支持多CPU服务器其版本发布前进行了产品级测试支持:运行环境jdk1.2到5版本(源代码编译需1.4或1.5 版本)jdk1.4和1.5 版本,需加入apache 的 commons-logging类库 http://jakarta.apache.org/commons/logging.htmljdk1.2和1.3 版本,需加入commons-collections 2.1 版本 http://jakarta.apache.org/commons/collections.html和 xerces (xml-apis.jar and xercesImpl.jar), 2.5 版本 http://xml.apache.org/xerces2-j/如果运行环境为IBM JDK1.4版本上的IBM Websphere 5.1,也需加入 commons-collections 类库(如需要)单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中。如项目已安装了Hibernate2.1 ,则不需要做什么。。直接可以使用EhcacheCache 存储方式 :内存或磁盘2. 单独使用 EHCache使用CacheManager 创建并管理Cache使用默认配置文件创建CacheManager manager = CacheManager.create();使用指定配置文件创建 CacheManager manager = CacheManager.create("src/config/ehcache.xml");从classpathq找寻配置文件并创建 URL url = getClass().getResource("/anothername.xml");CacheManager manager = CacheManager.create(url);通过输入流创建InputStream fis = new FileInputStream(new File("src/config/ehcache.xml").getAbsolutePath());try {manager = CacheManager.create(fis);} finally {fis.close();}卸载CacheManager ,关闭Cachemanager.shutdown();使用Caches取得配置文件中预先 定义的sampleCache1设置,生成一个CacheCache cache = manager.getCache("sampleCache1");设置一个名为test 的新cache,test属性为默认CacheManager manager = CacheManager.create();manager.addCache("test");设置一个名为test 的新cache,并定义其属性 CacheManager manager = CacheManager.create();Cache cache = new Cache("test", 1, true, false, 5, 2);manager.addCache(cache);往cache中加入元素Element element = new Element("key1", "value1");cache.put(new Element(element);从cache中取得元素Element element = cache.get("key1"); 3. 在 Hibernate 中运用EHCachehibernate.cfg.xml中需设置如下:2.1版本加入<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.Provider</property>2.1以下版本加入<property name="hibernate.cache.provider_class">net.sf.hibernate.cache.EhCache</property>在 Hibernate 映射文件的每个需要Cache的Domain中<hibernate-mapping><classname="com.somecompany.someproject.domain.Country"table="ut_Countries"dynamic-update="false"dynamic-insert="false"> ...</hibernate-mapping> 加入类似如下格式信息:<cache usage="read-write|nonstrict-read-write|read-only" /> 比如:<cache usage="read-write" /> 然后在ehcache.xml中加入<ehcache><cache name="com.somecompany.someproject.domain.Country"maxElementsInMemory="10000"eternal="false"timeToIdleSeconds="300"timeToLiveSeconds="600"overflowToDisk="false"/> </ehcache>


阅读全文(2257) | 回复(0) | 编辑 | 精华
 



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



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

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