设置 Hazelcast 集群成员的属性

时间:2021-07-29 11:13:00

标签: hazelcast

我已经看到属性概念存在于 Hazelcast。我想在启动时为每个成员定义属性,并使用这些属性检测哪个成员离开了集群。

我找不到如何以编程方式或通过配置来设置它。我尝试通过 getAttributes() 方法获取属性并添加一个新属性,但它抛出异常,因为它是一个不可修改的集合。

如何设置集群成员的属性?

1 个答案:

答案 0 :(得分:0)

您可以在成员配置中设置属性,然后从客户端读取它们。例如,您可以启动一个 Hazelcast 集群,其中一个成员分配了一些属性,而另一个则没有。

// Member with attributes
Config config = new Config();
config.getMemberAttributeConfig().setAttribute("key-1", "value-1");
Hazelcast.newHazelcastInstance(config);

// Member without attributes
Hazelcast.newHazelcastInstance();

然后,在客户端,您可以读取属性。

HazelcastInstance client = HazelcastClient.newHazelcastClient();
for (Member member : client.getCluster().getMembers()) {
    System.out.println("Member attributes: " + member.getAttributes());
}

它应该打印属性。

Member attributes: {key-1=value-1}
Member attributes: {}
相关问题