/** recalculateStatus */ @Override public void recalculateStatus() { PollableService criticalSvc = getCriticalService(); if (criticalSvc != null) { criticalSvc.recalculateStatus(); updateStatus(criticalSvc.getStatus().isUp() ? PollStatus.up() : PollStatus.down()); } else { super.recalculateStatus(); } }
/** {@inheritDoc} */ @Override public PollStatus pollRemainingMembers(PollableElement member) { PollableService critSvc = getCriticalService(); if (critSvc != null && getStatus().isUp()) { if (member != critSvc) critSvc.poll(); return critSvc.getStatus().isUp() ? PollStatus.up() : PollStatus.down(); } if (getContext().isPollingAllIfCritServiceUndefined()) return super.pollRemainingMembers(member); else { return getMemberStatus(); } }