ReentrantReadWriteLock 不需要额外的配置tc-config.xml。但是,如果ReentrantReadWriteLock不是包含在一个cluster object里或者它本身不是一个cluster object,需要将它放在一个cluster object的结构里或者直接声明为root. 通常包含ReentrantReadWriteLock的cluster object有CurrentHashMap,HashMap。注意,有些数据结构TC并不支持,比如WeakHashMap. 还有一些数据结构比如CurrentStringMap是TC扩展
http://forge.terracotta.org/releases/projects/tim-concurrent-collections-root/
如果没有把ReentrantReadWriteLock放在这样的cluster object里,那么ReentrantReadWriteLock所起的作用只是local lock. 不会起cluster lock的作用。
一个使用的示例:
private final ConcurrentStringMap<Object> locks = new ConcurrentStringMap<Object>();
private final Object LOCK = new Object();
public void writeOperation(Entity entity) {
if (locks.putIfAbsent(entity.getId(), LOCK) != null) {
//some other thread/node already has lock, exit
return;
}
try {
//critical section write operation here
} finally {
locks.removeNoReturn(entity.getId());
}
}
原文:The only requirement is that any ReentrantReadWriteLock requiring clustered behavior must be a part of the clustered graph.A ReentrantReadWriteLock that is not a part of the clustered graph imparts local locking semantics only.
分享到:
- 2009-07-17 11:19
- 浏览 1046
- 评论(0)
- 论坛回复 / 浏览 (0 / 2076)
- 查看更多
相关推荐
Terracotta是一款开源软件,它提供了一种高效且可靠的解决方案,允许在集群环境中实现Web Session的共享,从而确保用户在不同服务器间的无缝切换。本文将深入探讨如何利用Terracotta来实现Web Session的同步。 ** ...
2. **测试过程**:重复未使用Terracotta时的测试流程,但这次在多个窗口和不同服务器上进行操作时,Session信息保持了完整性和一致性,即使在某台Tomcat服务器宕机或重启的情况下,Session信息也没有丢失。...
这将启动Terracotta服务,并使其使用`tc-config.xml`中的配置。 当两台机器上的Terracotta服务器启动后,它们会自动加入到同一个集群中。这是通过`tc-config.xml`中定义的服务器节点实现的,它们通过网络进行通信并...
在本文中,我们将深入探讨Terracotta的技术细节、其在集群负载中的优势,以及如何利用terracotta-3.6.0版本来优化应用性能。 **一、Terracotta简介** Terracotta是一款开源软件,它的核心功能在于提供了一个分布式...
根据测试结果,在采用Terracotta搭建的Tomcat集群中,即使当节点数量增加到8个时,集群的整体吞吐量依然保持着线性增长的趋势。 #### 安装与配置流程 为了便于使用Terracotta搭建Tomcat集群,Terracotta提供了一个...
Terracotta是一种分布式内存管理和数据共享平台,其核心产品BigMemory Max旨在帮助应用程序实现数据在内存中的高效管理,尤其适用于分布式服务器环境。Terracotta的核心优势在于能够跨多台服务器提供统一的数据访问...
在本篇中,我们将深入探讨如何在Java项目中配置Ehcache与Terracotta来实现这一功能。 1. Ehcache简介 Ehcache是基于内存的缓存解决方案,它提供了本地缓存、持久化存储和二级缓存等功能。通过将频繁访问的数据保存...
- **安装 Terracotta 服务器**:首先,需要在集群中的每个节点上安装 Terracotta 服务器,并确保所有服务器之间的网络连通性。 - **配置 Tomcat**:修改 Tomcat 的 `server.xml` 文件,添加 Terracotta 的集群配置,...
4. **自动故障转移**:在Terracotta集群中,如果某个节点出现故障,系统会自动将工作负载转移到健康的节点上,确保业务连续性。 5. **性能优化**:通过对数据进行智能缓存和高效传输,Terracotta能够减少网络延迟,...
在这个场景中,我们关注的是Terracotta企业版(terracotta-ee)的4.1.2版本,以及与其配套的许可证文件(terracotta-license.key)。这两个文件在2014年05月12日被标记为最新版本,且适用于Windows操作系统。 **...
记载了terracotta如何与tomcat、jetty等服务器的集群,解释了tc-config.xml中各个配置的作用
描述中的博文链接指向了"Iteye"博客上的一篇文章,虽然具体内容无法在当前环境中获取,但我们可以推测博主Balaschen分享了一些关于使用或分析开源工具,可能包括缓存系统、分布式计算或性能优化方面的内容。...
Terracotta 3.2.1 英文文档
terracotta-ee-3.5.2破解版
terracotta license.key ,
ehcache-terracotta-2.4.5.jar,ehcache缓存所使用的JAR
terracotta-toolkit-1.3-runtime-3.2.0.jar 集群实现JAR