void removeListener(EmbeddedLeaderRetrievalService service) { synchronized (lock) { // if the service was not even started, simply do nothing if (!service.running || shutdown) { return; } try { if (!listeners.remove(service)) { throw new IllegalStateException("leader retrieval service does not belong to this service"); } // stop the service service.listener = null; service.running = false; } catch (Throwable t) { fatalError(t); } } }
void removeListener(EmbeddedLeaderRetrievalService service) { synchronized (lock) { // if the service was not even started, simply do nothing if (!service.running || shutdown) { return; } try { if (!listeners.remove(service)) { throw new IllegalStateException("leader retrieval service does not belong to this service"); } // stop the service service.listener = null; service.running = false; } catch (Throwable t) { fatalError(t); } } }
void removeListener(EmbeddedLeaderRetrievalService service) { synchronized (lock) { // if the service was not even started, simply do nothing if (!service.running || shutdown) { return; } try { if (!listeners.remove(service)) { throw new IllegalStateException("leader retrieval service does not belong to this service"); } // stop the service service.listener = null; service.running = false; } catch (Throwable t) { fatalError(t); } } }
void removeListener(EmbeddedLeaderRetrievalService service) { synchronized (lock) { // if the service was not even started, simply do nothing if (!service.running || shutdown) { return; } try { if (!listeners.remove(service)) { throw new IllegalStateException("leader retrieval service does not belong to this service"); } // stop the service service.listener = null; service.running = false; } catch (Throwable t) { fatalError(t); } } }
void addListener(EmbeddedLeaderRetrievalService service, LeaderRetrievalListener listener) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader retrieval service is already started"); try { if (!listeners.add(service)) { throw new IllegalStateException("leader retrieval service was added to this service multiple times"); } service.listener = listener; service.running = true; // if we already have a leader, immediately notify this new listener if (currentLeaderConfirmed != null) { notificationExecutor.execute( new NotifyOfLeaderCall(currentLeaderAddress, currentLeaderSessionId, listener, LOG)); } } catch (Throwable t) { fatalError(t); } } }
void addListener(EmbeddedLeaderRetrievalService service, LeaderRetrievalListener listener) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader retrieval service is already started"); try { if (!listeners.add(service)) { throw new IllegalStateException("leader retrieval service was added to this service multiple times"); } service.listener = listener; service.running = true; // if we already have a leader, immediately notify this new listener if (currentLeaderConfirmed != null) { notificationExecutor.execute( new NotifyOfLeaderCall(currentLeaderAddress, currentLeaderSessionId, listener, LOG)); } } catch (Throwable t) { fatalError(t); } } }
void addListener(EmbeddedLeaderRetrievalService service, LeaderRetrievalListener listener) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader retrieval service is already started"); try { if (!listeners.add(service)) { throw new IllegalStateException("leader retrieval service was added to this service multiple times"); } service.listener = listener; service.running = true; // if we already have a leader, immediately notify this new listener if (currentLeaderConfirmed != null) { notificationExecutor.execute( new NotifyOfLeaderCall(currentLeaderAddress, currentLeaderSessionId, listener, LOG)); } } catch (Throwable t) { fatalError(t); } } }
void addListener(EmbeddedLeaderRetrievalService service, LeaderRetrievalListener listener) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader retrieval service is already started"); try { if (!listeners.add(service)) { throw new IllegalStateException("leader retrieval service was added to this service multiple times"); } service.listener = listener; service.running = true; // if we already have a leader, immediately notify this new listener if (currentLeaderConfirmed != null) { notificationExecutor.execute( new NotifyOfLeaderCall(currentLeaderAddress, currentLeaderSessionId, listener, LOG)); } } catch (Throwable t) { fatalError(t); } } }
/** * Callback from leader contenders when they start their service. */ void addContender(EmbeddedLeaderElectionService service, LeaderContender contender) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader election service is already started"); try { if (!allLeaderContenders.add(service)) { throw new IllegalStateException("leader election service was added to this service multiple times"); } service.contender = contender; service.running = true; updateLeader(); } catch (Throwable t) { fatalError(t); } } }
/** * Callback from leader contenders when they start their service. */ void addContender(EmbeddedLeaderElectionService service, LeaderContender contender) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader election service is already started"); try { if (!allLeaderContenders.add(service)) { throw new IllegalStateException("leader election service was added to this service multiple times"); } service.contender = contender; service.running = true; updateLeader(); } catch (Throwable t) { fatalError(t); } } }
/** * Callback from leader contenders when they start their service. */ void addContender(EmbeddedLeaderElectionService service, LeaderContender contender) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader election service is already started"); try { if (!allLeaderContenders.add(service)) { throw new IllegalStateException("leader election service was added to this service multiple times"); } service.contender = contender; service.running = true; updateLeader(); } catch (Throwable t) { fatalError(t); } } }
/** * Callback from leader contenders when they start their service. */ void addContender(EmbeddedLeaderElectionService service, LeaderContender contender) { synchronized (lock) { checkState(!shutdown, "leader election service is shut down"); checkState(!service.running, "leader election service is already started"); try { if (!allLeaderContenders.add(service)) { throw new IllegalStateException("leader election service was added to this service multiple times"); } service.contender = contender; service.running = true; updateLeader(); } catch (Throwable t) { fatalError(t); } } }