??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. EHCache 的特点,pȝ要求及安?
是一个纯Java ,q程中(也可以理解成插入式)~存实现
Hibernate2.1,Spring支持EHcache嵌入,自我感觉Hibernate2.1 + EHCache 很过瘾。。(试l果比Hibernate+JCS 好多了)
支持多CPU服务?
其版本发布前q行了品试
支持Q运行环境jdk1.2?版本Q源代码~译需1.4?.5 版本Q?
jdk1.4?.5 版本,需加入apache ?commons-loggingcd http://jakarta.apache.org/commons/logging.html
jdk1.2?.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/
如果q行环境为IBM JDK1.4版本上的IBM Websphere 5.1,也需加入 commons-collections cd(如需?
单独安装Ehcache Q需把ehcache-X.X.jar 和相关类库方到classpath中?
如项目已安装了Hibernate2.1 ,则不需要做什么。。直接可以用Ehcache
Cache 存储方式 Q内存或盘
2. 单独使用 EHCache
使用CacheManager 创徏q管理Cache
使用默认配置文g创徏
CacheManager manager = CacheManager.create();
使用指定配置文g创徏
CacheManager manager = CacheManager.create("src/config/ehcache.xml");
从classpathq扑֯配置文gq创?
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 ,关闭Cache
manager.shutdown();
使用Caches
取得配置文g中预?定义的sampleCache1讄,生成一个Cache
Cache cache = manager.getCache("sampleCache1");
讄一个名为test 的新cache,test属性ؓ默认
CacheManager manager = CacheManager.create();
manager.addCache("test");
讄一个名为test 的新cache,q定义其属?
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 中运用EHCache
hibernate.cfg.xml中需讄如下Q?
2.1版本加入
net.sf.ehcache.hibernate.Provider
2.1以下版本加入
net.sf.hibernate.cache.EhCache
?Hibernate 映射文g的每个需要Cache的Domain?/p>
name="com.somecompany.someproject.domain.Country"
table="ut_Countries"
dynamic-update="false"
dynamic-insert="false"
]
...
加入cM如下格式信息Q?/p>
比如Q?/p>
然后在ehcache.xml中加?/p>
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"
/]
软g环境Q?/span>TortoiseSVN-1.2.4.4479-svn-1.2.3.msi Q?/span>WindowsQ?br /> LinuxQ还使用命o行吧 嘿嘿 不过也没有谁自己?/span>client?/span>Linux?/span>
l 如何下蝲CVS – checkout
如图?/span>URL of repository 输入服务器项目名U就好。(?/span>IE也能看啦Q?br />
l 如何q加新文件或者目?/span> – add
Subversion是递归q加的,省去?/span>cvs?/span>pythonq一步?/span>
q里的追加仅仅是在本地打标记Q别忘了提交Q!Q?br />
l 如何提交修改 – commit
英文?/span>CVS一P毕竟q?/span>2个Y仉有同一?#8220;老爸”(Karl)Q相q也自然?/span>
是不是比CVS友好Q这?/span>Clientq不错么Q? 呵呵 但这q不?/span>Subversion真正的强V?br />
l 如何撤销操作 – clean up / revert
如果你做了不该做的事?/span>… -_-! 那么恢复很重要了(当然了,q都是客L的,如果已经提交了,?/span>…q着挨板子吧Q?/span>
Clean ?/span> Revert 很相q。都是撤销提交前进行的所有修攏V可以对目录作?br />
l 如何明确目录下的变更?/span> – status
右键 右键 q是右键。对Q就?/span> Check for Modifications q厮Q?/span>
l 如何删除一个文件或者目?/span> – delete
q就不说了,Delete q个东东是Q?span style="color: red">别忘?/span>提交Q?/span>
l 如何察看一个文件的或者目录的修改记录 --- log
是?/span> history 了。?/span>Show Log好?/span>
l 如何比较文g或者不同版本之间的比较 – diff
如上图,得到历史版本后,可以直?/span>diff了,q个Client自带?/span>Compare功能。可能不?/span>BC强吧Q不定?/span>
l 明确提交文g时的用户权限验证
写个代码 Ҏ么。都是体力啊Q被盖了Q可不是气的嘴都歪了。所?/span> 权限 理也就应历史z流Q出现在Subversion中。这个图是提交时的密码输入。具体的讄请参?/span>《subversion之Apache配置?span style="font-family: 宋体">Q?/span>
Subversion自带了一个小型的server叫做 svnserve 但是他不能完成复杂的权限目录{的理Q因此我们这ơ借用 ?/span>XX ?/span>Apache ServerQ?/span>2.0.53Q?/span>,使用了他?/span>Apache Base Auth 框架。具体设|?/span> 参见 《subversion之Apache配置?span style="font-family: 宋体">Q?/span>
W四?参?/span>
《?/span>Subversionq行版本控制?/span> Orilly 中文
?/span>Apache Securty?/span> HTMLPage ApacheGroup English
v