You can use isClusterSafe as below:
public class ShutdownCluster {
public static void main(String[] args) throws Exception {
HazelcastInstance member1 = Hazelcast.newHazelcastInstance();
HazelcastInstance member2 = Hazelcast.newHazelcastInstance();
HazelcastInstance member3 = Hazelcast.newHazelcastInstance();
if(member1.getPartitionService().isClusterSafe()) {
IExecutorService executorService = member1.getExecutorService(ShutdownCluster.class.getName());
executorService.executeOnAllMembers(new ShutdownMember());
}
}
private static class ShutdownMember implements Runnable, HazelcastInstanceAware, Serializable {
private HazelcastInstance node;
@Override
public void run() {
node.getLifecycleService().shutdown();
}
@Override
public void setHazelcastInstance(HazelcastInstance node) {
this.node = node;
}
}
}
source
share