/**
  * This is used to abort the flushing process when the reactor has been stopped. An abort to the
  * flusher typically happens when the server has been shutdown. It prevents threads lingering
  * waiting for a I/O operation which prevents the server from shutting down.
  */
 private synchronized void abort() throws IOException {
   scheduler.close();
   writer.close();
 }