Terracotta 简介;
Terracotta 是一款由美国Terracotta 公司开发的著名开源Java 集群平台。它在JVM 与Java 应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能定向传送、分布式协作、服务器镜像、分片等技术,允许用户在不改变现有系统代码的情况下实现单机Java 应用向集群话应用的无缝迁移。使得用户可以专注于商业逻辑的开发,由Terracotta 负责实现高性能、高可用性、高稳定性的企业级Java 集群. Terracotta 公司在2009 年收购了著名的Java 开源缓存项目Ehcache 以及Java 任务调度项目Quartz 。经过对该项目的深度整合,Terracotta 推出了易用性更高的分布式缓存、分布式任务调度以及分布式Web Session 等快捷解决方案.以上引自老马的文章,具体可参加作者博客了解http://lima01.iteye.com/。
配置环境:
我的配置环境是:winxp,jdk1.5—17,spring2.5,hibernate3.3,tomcat5.5,terracotta版本是3.2.1_1,目前最新版本是3.2.1_2,可在http://www.terracotta.org/dl/oss-download-catalog下载。
实战:
首先需要说明的是 terracotta分为express mode(快捷模式)和客户化模式, express mode能够让大家快速上手,不需要复杂的配置就可运行起来,而 客户化模式则有很多高级功能,而且需要配置相应的文件,初学可以先运行 express mode作为学习。
首先以express mode模式为例说明
1.首先下载terracotta 3.2.1_1。jar,前提是机器已经安装jdk及配置好了java_home,利用java -jar terracotta 3.2.1_1。jar命令安装 terracotta ,安装时最好保持jdk及 terracotta 安装目录名称都没有空格。
2.首先集成session复制,将terracotta安装目录下的sessions文件夹下的 terracotta-session-1.0.1.jar 拷贝到tomcat-5.5\server\lib文件夹下,然后
将 context.xml 文件(此文件可参见安装目录下的sessions\conf-samples的例子文件)拷贝到我们自己项目的 META-INF 文件夹下,具体内容根据使用的不同中间件进行不同配置,一下是使用tomcat5.5的配置,其他的也可看光放文档说明http://www.terracotta.org/documentation/ga/product-documentation
例如:
<Context>
<Valve className="org.terracotta.session.TerracottaTomcat55xSessionValve" tcConfigUrl="localhost:9510"/>
</Context>
<!-- tomcat 5.5.x -->
将我们的web工程发布到webapps下,启动tomcat5.5/bin/下的startup.bat即可,然后到Terracotta Console控制台查看object brower下是否出现tc:session。也可运行 terracotta自带的例子,位于安装目录下的sessions\samples\下,验证时客气起双tomcat分配不同的端口号,打开两个浏览器窗口进行验证。
客户化模式的session复制可参见老马博客文章。
2.集成hibernate二级缓存
集成的时候需要注意将将安装后的terracotta 文件夹下的ehcache-core-2.0.1.jar 、ehcache-terracotta-2.0.1.jar 、slf4j-api-1.5.8.jar 、slf4j-jdk14-