0
這是我的源代碼,我怎麼能打印的消息,如果一些成員被關閉出於某種原因?我想我可以某些事件或某種行動聽者卻怎麼...使用Hazelcast,如果成員關閉並打印消息,如何創建事件或捕獲?
import com.hazelcast.core.*;
import com.hazelcast.config.*;
import java.util.Map;
/** * * @author alvel */ public class ShutDown {
public static void main(String[] args) {
Config cfg = new Config();
HazelcastInstance memberOne = Hazelcast.newHazelcastInstance(cfg);
HazelcastInstance memberTwo = Hazelcast.newHazelcastInstance(cfg);
Map<Integer, String> customerMap = memberOne.getMap("customers");
customerMap.put(1, "google");
customerMap.put(2, "apple");
customerMap.put(3, "yahoo");
customerMap.put(4, "microsoft");
System.out.println("Hazelcast Nodes in this cluster"+Hazelcast.getAllHazelcastInstances().size());
memberOne.shutdown();
System.out.println("Hazelcast Nodes in this cluster After shutdown"+Hazelcast.getAllHazelcastInstances().size());
Map<Integer, String> customerRestored = memberTwo.getMap("customers");
for(String val:customerRestored.values()){
System.out.println("-"+val);
}
} }
查看https://stackoverflow.com/questions/46153963/hazelcast-notify-when-a-cluster-node-dies/46156011。一個'MembershipListener'就可以做到 –
你能幫我實施嗎 –
這裏有一個例子 - http://docs.hazelcast.org/docs/3.8.5/manual/html-single/index.html#listening-for-會員活動。創建一個實現'MembershipListener'的新類,並註冊它,以便Hazelcast知道發送它的類型的事件 - 在你的代碼中,像'memberOne.getCluster()。addMembershipListener(new ShutDownMembershipListener());' –