code: private void startActiveMonitoring(final StatusAggregator aggregator) {
  
      	log.info("Starting application health monitoring in ACTIVE mode");
  
      	ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {
  
  			@Override
  			public Thread newThread(Runnable r) {
  				Thread t = new Thread(r,"SocketTransport App Health Monitor");
  				t.setDaemon(true);
  				return t;
  			}
  		});
  
      	executor.scheduleWithFixedDelay(new Runnable() {
  
  			@Override
  			public void run() {
                  try {
                      boolean healthy = !Status.FAIL.equals(aggregator.getStatus());
  
                      setStatus(healthy ? Status.OK : Status.FAIL);
                  }
                  catch (Exception e) {
                      log.warn("Error whilst setting health status",e);
                  }
  			}
  		}, monitorInterval, monitorInterval, TimeUnit.MILLISECONDS);
      }
docs: Start a new thread and periodically poll all status aggregators for their current status
  </p>
  Calculate a new status where newStatus = healthy if all aggregator's status = healthy