private boolean executorAlive(ThreadPoolExecutor tpe,String name){
  if (tpe == null) {
    return false;
  }
 else {
    int ac=tpe.getActiveCount();
    if (ac > 0) {
      if (logger.isDebugEnabled()) {
        logger.debug("Still waiting for {} threads in '{}' pool to exit",ac,name);
      }
      return true;
    }
 else {
      return false;
    }
  }
}

private boolean executorAlive ( ThreadPoolExecutor tpe , String name ) { if ( tpe == null ) { return false ; } else { int ac = tpe . getActiveCount ( ) ; if ( ac > 0 ) { if ( logger . isDebugEnabled ( ) ) { logger . debug ( "Still waiting for {} threads in '{}' pool to exit" , ac , name ) ; } return true ; } else { return false ; } } }
cheap tool to examine an executor to see if it is still working
