问题描述:
配置完成TERRA-COTTA的config.xml之后,能够正常启动,并且通过其console,主从服务器均正常显示。但是每当运行时持久化时会出现主键冲突,tc—config.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<con:tc-config xmlns:con="http://www.terracotta.org/config">
<servers>
<server host="192.168.7.73" name="73">
<dso-port bind="192.168.7.73">9510</dso-port>
<jmx-port bind="192.168.7.73">9520</jmx-port>
<data>terracotta/server-data</data>
<logs>terracotta/server-logs</logs>
<statistics>terracotta/cluster-statistics</statistics>
</server>
<server host="192.168.7.39" name="39">
<dso-port bind="192.168.7.39">9510</dso-port>
<jmx-port bind="192.168.7.39">9520</jmx-port>
<data>terracotta/server-data</data>
<logs>terracotta/server-logs</logs>
<statistics>terracotta/cluster-statistics</statistics>
</server>
</servers>
<clients>
<logs>terracotta/client-logs</logs>
</clients>
<application>
<dso>
<instrumented-classes>
.......................
<include>
<class-expression>cfca.xfraud.common.domain.Activity</class-expression>
</include>
.......................
</instrumented-classes>
<locks>
.......................
<autolock auto-synchronized="false">
<method-expression>* cfca.xfraud.common.domain.Activity.*(..)</method-expression>
<lock-level>write</lock-level>
</autolock>
........................
</locks>
<roots>
........................
<root>
<field-name>cfca.xfraud.common.domain.Activity.someFields</field-name>
</root>
........................
</roots>
</dso>
</application>
</con:tc-config>
解决思路:
Activity的someFields,被共享后将会变成全局变量,因而升级为类变量,Terra-cotta在执行时,判断Activity的某个属性(hasPersisted<boolean>)时,假定共享修改其为true,而实例变量为false,将会导致该分布式缓存场景下所有activity的hasPersisted的访问值均被覆盖为共享值,也就是说为true(即使其对象属性为false)。
由此观之:读共享变量的优先级大于每个JVM中实例变量的读取优先级。
经验:
一般来说在分布式缓存中的需要共享的变量往往是那些在本地JVM中就设置为static类型的变量
分享到:
相关推荐
在分布式环境中,"terra-layer"可能利用Zookeeper来实现服务发现、配置共享和一致性维护,确保在大规模集群中的可靠性和高可用性。 "云原生"(Cloud Native)是一个术语,指代设计和构建的应用程序,它们充分利用...
TERRA-Engine, 在对象Pascal中,跨平台游戏引擎 游戏引擎TERRA是一个跨平台游戏引擎编写的对象 Pascal 。 ,和Delphi兼容,它不使用视觉组件。 引擎的开发重点是性能和优化运行在移动设备上。 不需要任何外部库或者...
标题 "Python库 | terra-opp-0.6.2.tar.gz" 暗示我们讨论的是一个特定版本的Python库,名为"terra-opp",版本号为0.6.2,它被压缩成一个`.tar.gz`文件。`.tar.gz`是一种常见的文件打包和压缩格式,通常用于在Unix/...
Terra repository:输入terra-core , terra-clinical , terra-consumer或terra-framework 。 如果未提供任何输入,则默认为terra-core 。 Your module name:输入要创建的React组件的所需名称。 注意:第一个提示...
《PyPI官网下载 | qiskit-terra-0.9.0.tar.gz——探索Python量子编程库Qiskit Terra的深度解析》 在信息技术日益发达的今天,量子计算作为计算机科学的一个前沿领域,正吸引着越来越多的研究者和开发者。Python作为...
《PyPI官网下载的qiskit_terra-0.11.1-cp35-cp35m-manylinux1_i686.whl:深入理解Python库》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了海量的Python软件包,方便用户下载和安装。本篇文章...
**Python库 | qiskit_terra-0.9.0-cp35-cp35m-win32.whl** 本文将深入探讨Python库qiskit Terra的0.9.0版本,这是一个专为32位Windows系统设计的Python 3.5兼容版本。qiskit Terra是IBM Quantum开发的一系列库中的...
Terra临床配套地位 Terra包版本地位依存关系terra-clinical-data-grid土地临床细节视图 terra-clinical标题 土地临床项目集合 土地临床项目显示 土地临床项目视图 terra-clinical-label-value-view 陆基临床发作选择...
**Python库 | qiskit_terra-0.9.0-cp36-cp36m-manylinux1_x86_64.whl** 本文将详细介绍`qiskit_terra`,这是一个强大的Python库,用于量子计算编程。该库是IBM Qiskit框架的核心组成部分,旨在简化量子算法的开发、...
资源来自pypi官网。 资源全名:qiskit_terra-0.17.0-cp37-cp37m-win32.whl
资源分类:Python库 所属语言:Python 资源全名:django-terra-accounts-1.0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:terra-notebook-utils-0.2.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
`qiskit_terra-0.10.0-cp36-cp36m-manylinux1_i686.whl` 是一个针对Python开发的库,名为Qiskit Terra,它是IBM Qiskit软件堆栈的一个核心部分。Qiskit Terra是一个开源框架,用于编写、模拟和优化量子程序,它为...
入门安装应用git clone https://github.com/cerner/terra-ui.gitnpm install 运行应用程序npm run start 测试应用npm run test 支持的浏览器浏览器版本Chrome浏览器和Android版Chrome 当前的边缘当前的火狐浏览器...
资源来自pypi官网。 资源全名:qiskit_terra-0.10.0-cp36-cp36m-manylinux1_i686.whl
标题"Pivot-WTK-Skin-Terra-2.0.1-build001.zip"提示我们这是一个与Apache Pivot相关的皮肤包,版本为2.0.1的build001。Apache Pivot是一个开源的用户界面开发框架,它允许开发者创建富客户端应用,支持多种平台。...
资源来自pypi官网。 资源全名:qiskit_terra-0.11.1-cp36-cp36m-manylinux1_x86_64.whl