private void initMembershipListener() { for (MembershipListener membershipListener : listeners.values()) { if (membershipListener instanceof InitialMembershipListener) { // TODO: needs sync with membership events... final Cluster cluster = client.getCluster(); ((InitialMembershipListener) membershipListener) .init(new InitialMembershipEvent(cluster, cluster.getMembers())); } } }
public String addMembershipListener(MembershipListener listener) { checkNotNull(listener, "listener cannot be null"); EventService eventService = nodeEngine.getEventService(); EventRegistration registration; if (listener instanceof InitialMembershipListener) { lock.lock(); try { ((InitialMembershipListener) listener).init(new InitialMembershipEvent(this, getMembers())); registration = eventService.registerLocalListener(SERVICE_NAME, SERVICE_NAME, listener); } finally { lock.unlock(); } } else { registration = eventService.registerLocalListener(SERVICE_NAME, SERVICE_NAME, listener); } return registration.getId(); }