<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory">JBoss Cache 指南核心版</title><link rel="stylesheet" href="css/jbossorg.css" type="text/css"/><meta xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" name="generator" content="DocBook XSL Stylesheets V1.72.0"/></head><body><div class="article" lang="zh-CN"><div class="titlepage"><div><div><h1 class="title"><a id="d0e1"/>JBoss Cache 指南核心版</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Manik</span> <span class="surname">Surtani</span></h3><code class="email"><<a href="mailto:manik@jboss.org">manik@jboss.org</a>></code></div></div><div><p class="releaseinfo">版本 2.2.0 Poblano</p></div><div><p class="copyright">版权 © 2005, 2006, 2007, 2008 红帽子公司 JBoss 部门</p></div><div><p class="pubdate">2008 五月</p></div></div><hr/></div><div class="toc"><dl><dt><span class="section"><a href="#d0e37">1. 导言</a></span></dt><dt><span class="section"><a href="#d0e59">2. 可以学到的知识</a></span></dt><dt><span class="section"><a href="#d0e72">3. 配置</a></span></dt><dt><span class="section"><a href="#d0e107">4. 脚本</a></span></dt><dt><span class="section"><a href="#d0e118">5. 运行
<a href="#gui"><em class="glossterm">GUI
</em></a>
<a href="#demo"><em class="glossterm">demo
</em></a>
</a></span></dt><dt><span class="section"><a href="#d0e187">6. 指南</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e196">6.1. 缓存和节点</a></span></dt><dt><span class="section"><a href="#d0e263">6.2. 复制</a></span></dt><dt><span class="section"><a href="#d0e280">6.3. 事务处理</a></span></dt></dl></dd><dt><span class="glossary"><a href="#d0e293">术语表</a></span></dt></dl></div><div class="section" lang="zh-CN"><div class="titlepage"><div><div><h2 class="title"><a id="d0e37"/>1. 导言</h2></div></div></div><p>
JBoss Cache 是一种缓存技术,它的特点包括支持内存复制、事务处理、细粒度控制。
这个指南的重点是介绍缓存(如果不特殊说明就是指 JBoss Cache)的核心
<a href="#api"><em class="glossterm">API
</em></a>。如果您对缓存技术的
<a href="#pojo"><em class="glossterm">Pojo
</em></a>
编程接口感兴趣,请参考一起发行的 JBoss Cache 指南
<a href="#pojo"><em class="glossterm">Pojo
</em></a> 版。
</p><p>
如果想了解缓存技术配置、用法和
<a href="#api"><em class="glossterm">API
</em></a>的详细情况,请参考
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://labs.jboss.org/portal/jbosscache/docs/index.html">用户手册
</a>
。
</p></div><div class="section" lang="zh-CN"><div class="titlepage"><div><div><h2 class="title"><a id="d0e59"/>2. 可以学到的知识</h2></div></div></div><div class="itemizedlist"><ul><li><p>缓存的创建和修改</p></li><li><p>状态复制</p></li><li><p>事务处理</p></li></ul></div></div><div class="section" lang="zh-CN"><div class="titlepage"><div><div><h2 class="title"><a id="d0e72"/>3. 配置</h2></div></div></div><p>首先从
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://labs.jboss.org/portal/jbosscache/download/index.html">下载页面
</a>下载 JBoss Cache 2.x 发行版本。你可以使用
<code class="literal">JBossCache-core-2.X.Y.zip</code>
发行程序。解压后,会有一个包含发行程序的目录,例如
<code class="literal">JBossCache-core-2.X.Y</code>。
为了方便阅读这个指南,我将用
<code class="literal">JBossCache</code>
代替这个目录名称。
</p><p>配置文件在
<code class="literal">JBossCache/resources</code>
目录下。通过编辑不同的配置文件,你可以修改缓存的行为。
</p><div class="itemizedlist"><ul><li><p>
<code class="literal">log4j.xml</code>,记录输出。你可以打开日志功能,
指定日志记录水平,或者修改日志文件的名称和输出路径。
</p></li><li><p>
<code class="literal">config-samples/replSync-service.xml</code>
,本指南将要用到的这个缓存配置文件。
</p></li></ul></div></div><div class="section" lang="zh-CN"><div class="titlepage"><div><div><h2 class="title"><a id="d0e107"/>4. 脚本</h2></div></div></div><p>这个指南需要的唯一脚本是
<code class="literal">JBossCache/build.xml</code>
,这是一个ant脚本。为了运行演示程序,你也需要安装
<a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://ant.apache.org/">ant
</a>。
</p></div><div class="section" lang="zh-CN"><div class="titlepage"><div><div><h2 class="title"><a id="d0e118"/>5. 运行
<a href="#gui"><em class="glossterm">GUI
</em></a>
<a href="#demo"><em class="glossterm">demo
</em></a>
</h2></div></div></div><p>
运行
<a href="#demo"><em class="glossterm">demo
</em></a>是通过运行ant脚本的
<code class="literal">run.demo</code>
目标来进行的。举例来说:
</p><p>
<code class="literal">ant run.demo</code>
</p><p>
<a href="#gui"><em class="glossterm">GUI
</em></a>
<a href="#demo"><em class="glossterm">demo
</em></a>的窗口将出现,在顶部方框显示缓存的树形视图,
在底部方框内显示
<a href="#jvm"><em class="glossterm">JVM
</em></a> 的
<a href="#beanshell"><em class="glossterm">BeanShell
</em></a>
视图。
</p><p>
<a href="#beanshell"><em class="glossterm">BeanShell
</em></a> 视图显示下列变量:
</p><div class="itemizedlist"><ul><li><code class="literal">cache</code>
-
<a href="#gui"><em class="glossterm">GUI
</em></a> 实例引用的 Cache 接口。
</li><li><code class="literal">root</code>
- 上述缓存引用的根节点实例。
</li><li><code class="literal">transactionManager</code>
- 引用的注册过的事务管理器。
</li></ul></div><p>
<a href="#beanshell"><em class="glossterm">BeanShell
</em></a>窗体和上面GUI树形视图指向的是同一个缓存实例。
</p><p>
为了使
<a href="#demo"><em class="glossterm">demo
</em></a> 演示出复制的效果,需要另外启动一个命令行窗体,
并象上面一样再次运行ant脚本目标。这样,在两个不同的
<a href="#gui"><em class="glossterm">GUI
</em></a>
程序里面有了两个缓存实例,这两个缓存实例互相复制状态。
</p></div><div class="section" lang="zh-CN"><div class="titlepage"><div><div><h2 class="title"><a id="d0e187"/>6. 指南</h2></div></div></div>
需要注意的是,在下面每个指南里面,最好关闭并重新启动一个
<a href="#gui"><em class="glossterm">GUI
</em></a><a href="#demo"><em class="glossterm">demo
</em></a>,
这样能保证每次清理缓存。
<div class="section" lang="zh-CN"><div class="titlepage"><div><div><h3 class="title"><a id="d0e196"/>6.1. 缓存�