void removeMonitor(final StabilityMonitor stabilityMonitor) { assert !holdsLock(this); synchronized (this) { if (monitors.remove(stabilityMonitor) && !isStableRestState()) { stabilityMonitor.removeProblem(this); stabilityMonitor.removeFailed(this); stabilityMonitor.decrementUnstableServices(); } } }
void removeMonitor(final StabilityMonitor stabilityMonitor) { assert !holdsLock(this); synchronized (this) { if (monitors.remove(stabilityMonitor) && !isStableRestState()) { stabilityMonitor.removeProblem(this); stabilityMonitor.removeFailed(this); stabilityMonitor.decrementUnstableServices(); } } }
private void updateStabilityState(final boolean leavingStableRestState) { assert holdsLock(this); final boolean enteringStableRestState = state.isRestState() && asyncTasks == 0; if (leavingStableRestState) { if (!enteringStableRestState) { container.incrementUnstableServices(); for (StabilityMonitor monitor : monitors) { monitor.incrementUnstableServices(); } } } else { if (enteringStableRestState) { container.decrementUnstableServices(); for (StabilityMonitor monitor : monitors) { monitor.decrementUnstableServices(); } if (shutdownListener != null && state == Substate.REMOVED) { shutdownListener.controllerDied(); shutdownListener = null; } } } }
private void updateStabilityState(final boolean leavingStableRestState) { assert holdsLock(this); final boolean enteringStableRestState = state.isRestState() && asyncTasks == 0; if (leavingStableRestState) { if (!enteringStableRestState) { container.incrementUnstableServices(); for (StabilityMonitor monitor : monitors) { monitor.incrementUnstableServices(); } } } else { if (enteringStableRestState) { container.decrementUnstableServices(); for (StabilityMonitor monitor : monitors) { monitor.decrementUnstableServices(); } if (shutdownListener != null && state == Substate.REMOVED) { shutdownListener.controllerDied(); shutdownListener = null; } } } }