`
highriver
  • 浏览: 71763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于在Terracotta中使用ReentrantReadWriteLock

    博客分类:
  • java
阅读更多
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.
分享到:
评论

相关推荐

    使用terracotta进行web session 同步

    Terracotta是一款开源软件,它提供了一种高效且可靠的解决方案,允许在集群环境中实现Web Session的共享,从而确保用户在不同服务器间的无缝切换。本文将深入探讨如何利用Terracotta来实现Web Session的同步。 ** ...

    使用terracotta实现session共享的证实实验

    2. **测试过程**:重复未使用Terracotta时的测试流程,但这次在多个窗口和不同服务器上进行操作时,Session信息保持了完整性和一致性,即使在某台Tomcat服务器宕机或重启的情况下,Session信息也没有丢失。...

    terracotta集群tomcat步骤

    这将启动Terracotta服务,并使其使用`tc-config.xml`中的配置。 当两台机器上的Terracotta服务器启动后,它们会自动加入到同一个集群中。这是通过`tc-config.xml`中定义的服务器节点实现的,它们通过网络进行通信并...

    terracotta

    在本文中,我们将深入探讨Terracotta的技术细节、其在集群负载中的优势,以及如何利用terracotta-3.6.0版本来优化应用性能。 **一、Terracotta简介** Terracotta是一款开源软件,它的核心功能在于提供了一个分布式...

    通过_Terracotta实现基于Tomcat的Web应用集群

    根据测试结果,在采用Terracotta搭建的Tomcat集群中,即使当节点数量增加到8个时,集群的整体吞吐量依然保持着线性增长的趋势。 #### 安装与配置流程 为了便于使用Terracotta搭建Tomcat集群,Terracotta提供了一个...

    Terracotta

    Terracotta是一种分布式内存管理和数据共享平台,其核心产品BigMemory Max旨在帮助应用程序实现数据在内存中的高效管理,尤其适用于分布式服务器环境。Terracotta的核心优势在于能够跨多台服务器提供统一的数据访问...

    ehcache-terracotta代码配置

    在本篇中,我们将深入探讨如何在Java项目中配置Ehcache与Terracotta来实现这一功能。 1. Ehcache简介 Ehcache是基于内存的缓存解决方案,它提供了本地缓存、持久化存储和二级缓存等功能。通过将频繁访问的数据保存...

    Terracotta+tomcat集群配置详细说明(写了一晚上。。)

    - **安装 Terracotta 服务器**:首先,需要在集群中的每个节点上安装 Terracotta 服务器,并确保所有服务器之间的网络连通性。 - **配置 Tomcat**:修改 Tomcat 的 `server.xml` 文件,添加 Terracotta 的集群配置,...

    terracotta-3.7.7.tar.gz

    4. **自动故障转移**:在Terracotta集群中,如果某个节点出现故障,系统会自动将工作负载转移到健康的节点上,确保业务连续性。 5. **性能优化**:通过对数据进行智能缓存和高效传输,Terracotta能够减少网络延迟,...

    terracotta-ee-4.1.2.jar,terracotta-license.key

    在这个场景中,我们关注的是Terracotta企业版(terracotta-ee)的4.1.2版本,以及与其配套的许可证文件(terracotta-license.key)。这两个文件在2014年05月12日被标记为最新版本,且适用于Windows操作系统。 **...

    terracotta 集群设置说明(中文)

    记载了terracotta如何与tomcat、jetty等服务器的集群,解释了tc-config.xml中各个配置的作用

    http://www.terracotta.org/

    描述中的博文链接指向了"Iteye"博客上的一篇文章,虽然具体内容无法在当前环境中获取,但我们可以推测博主Balaschen分享了一些关于使用或分析开源工具,可能包括缓存系统、分布式计算或性能优化方面的内容。...

    Terracotta 3.2.1 英文文档(CHM)

    Terracotta 3.2.1 英文文档

    terracotta-ee-3.5.2

    terracotta-ee-3.5.2破解版

    terracotta license.key

    terracotta license.key ,

    ehcache-terracotta-2.4.5.jar

    ehcache-terracotta-2.4.5.jar,ehcache缓存所使用的JAR

    terracotta-toolkit-1.3-runtime-3.2.0.jar

    terracotta-toolkit-1.3-runtime-3.2.0.jar 集群实现JAR

Global site tag (gtag.js) - Google Analytics