java - 从其他集群机器更新本地属性

标签 java spring load-balancing sap-commerce-cloud

我们有一个由 4 台机器组成的集群,其中一台用于后台。当我从 local.properties 更改一个属性时,我想将它注册到数据库,所有机器都应该获得新值。

为此,我创建了一个 CustomLocalProperty 新的或更改的属性的类型。当我从后台计算机更改属性时,它会注册到数据库并通过拦截器(代码片段如下)添加到运行时属性,但其他计算机看不到更新的或新的值。

我如何从其他机器更新这个值?

getConfiguration().addProperty(customLocalPropertyModel.getKey(), 
customLocalPropertyModel.getValue());

最佳答案

在这里我看不到使用 CustomLocalProperty 的任何好处,因为配置总是从您的属性文件加载。相反,您可以考虑将您的更改广播到其他节点并更新您的 local.properties 源,以便下一次服务器构建/重新启动获得更新的值。

您可以求助Cluster-Aware Events将您的更改发布到其他节点。另请参阅 hybris 集群中缓存失效的处理方式。

关于java - 从其他集群机器更新本地属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51360663/

相关文章:

java - org.eclipse.jface.viewers.TreeViewer 不显示任何内容

java - POI 为 Word docx 文件中的第一页启用不同的页眉/页脚

mysql - Spring Data JPA 方法命名包含双值查询

java - 将 Spring IoC 与 web.xml 中定义的 servlet 结合使用

java - Amazon AWS 的 session 亲和性负载均衡器如何知道 session cookie 已过期?

java - hibernate JPA : how to write an efficent persist()?

java - GWT 模块继承并且应用程序运行时没有可用的源代码

Spring-WS - 返回异常的有效响应

tomcat - Google Load-balancer 对后端的请求随机失败

nginx - 是否可以在 NGINX 中合并多个响应并发送一个响应