Ceci est ma source, comment puis-je imprimer un message si certains des membres est arrêté pour une raison quelconque? Je pense que je peux un événement ou d'une sorte d'auditeur d'action mais comment ...En utilisant Hazelcast, comment puis-je créer un événement ou attraper si le membre est arrêté et imprimer un message?
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);
}
} }
Voir https://stackoverflow.com/questions/46153963/hazelcast-notify-when-a-cluster-node-dies/46156011. Un 'MembershipListener' le fera –
pouvez-vous m'aider avec la mise en œuvre –
Il y a un exemple ici - http://docs.hazelcast.org/docs/3.8.5/manual/html-single/index.html#listening-for- événements-membres. Créez une nouvelle classe implémentant 'MembershipListener', et enregistrez-la afin que Hazelcast sache lui envoyer ce type d'événements - dans votre code, quelque chose comme' memberOne.getCluster(). AddMembershipListener (new ShutDownMembershipListener()); ' –