站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题JBossCache-TreeCache体验

JBossCache-TreeCache体验

摘要: JBossCache-TreeCache体验


TreeCache是一种结构化的、基于复制的事务缓存。TreeCache是JBoss应用服务器中集群服务—包括JNDI集群、HTTP和EJB的Sesssion集群、JMS集群—的基础框架。其可以单独使用,可以集成到JBossAS应用,也可以集成到其他的应用服务器上。TreeCache是一种树状结构,每个节点拥有一个名字和多个或者没有子节点,除跟节点没有子节点其他节点有且只有一个父母节点,可以通过路径名来访问子节点(FQN:Full Qualified Name),在一个TreeCache中可以存在多棵树,,即可以有多个根节点。当应用于分布式环境时,由于TreeCache是基于复制的,每个子节点的值必须是可序列化的。
在下面中,将通过例子来了解TreeCache的功能及其配置,使用JBossCache1.4和JDK5.0。首先是一个最基本使用TreeCache的程序例子并配置一个TreeCache的配置骨架(各种常用的配置可参见jboss-cache-dist-1.4.0.CR1版本的etc目录,如下各种配置参考也可见该目录下的范例配置,以下不再强调),见下:
[code]
TreeCache tree = new TreeCache();
tree.setClusterProperties("treecache.xml");
tree.createService();
tree.startService();
tree.put("/a/b/c", "name", "Ben");
tree.put("/a/b/c/d", "uid", new Integer(322649));
Integer tmp = (Integer) tree.get("/a/b/c/d", "uid");
tree.remove("/a/b");
tree.stopService();
tree.destroyService();
[/code]
[code]
treecache.xml:

name="jboss.cache:service=TreeCache">
jboss:service=Naming
jboss:service=TransactionManager
TreeCache-Cluster


ip_ttl="64" ip_mcast="true"
mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
loopback="false"/>
up_thread="false" down_thread="false"/>


up_thread="false" down_thread="false"/>
max_xmit_size="8192" up_thread="false" down_thread="false"/>
down_thread="false"/>
up_thread="false" down_thread="false"/>
down_thread="false" up_thread="false"/>
shun="true" print_local_addr="true"/>





[/code]
其中ClusterConfig配置在前面JavaGroups的介绍详细介绍,其它配置比较简单,需要进一步了解请参见TreeCache文档。


一、Cache分类
TreeCache按功能分为三类:本地(Local)Cache、复制(Replication)Cache和失效(Invalidation)Cache。本地Cache只应用于本地环境,后两个Cache可应用于分布式环境,其中,在分布式环境中,复制Cache当一个Cache实例的一个节点值发生变化时会将变化复制到其它实例中,而失效Cache是当一个Cache实例的一个节点值发生变化时会将其它实例的相应节点的值设为空,让其重新去获得该值,可通过这种方式缓存大对象以减少在实例中复制对象的代价。分布式Cache(复制和失效Cache)又分为两种,同步(REPL_ASYNC)和异步(REPL_SYNC),同步Cache是在一个Cache实例做修改时,等待变化应用到其它实例后才返回,而异步Cache是在一个Cache实例做修改时,即刻返回。其配置见下:
[code]


↑返回目录
前一篇: 这段代码有逻辑方面的问题么? 50分 在线等
后一篇: 请问文件对话框和消息框分别是哪个类?