public void start()
   {
      log.info("Starting PostResult2Qc thread executor .....");
      postResult2QcThreadExecutor.start();
      //Add ShutdownHook which is invoked when application is shut down, either normally or abnormally.
      Runtime.getRuntime().addShutdownHook(new Thread() {
         public void run()
         {
            //Stop PostResult2Qc thread gracefully.
            if (postResult2QcThreadExecutor.isAlive()) {
               log.warn("PostResult2Qc thread executor is still running and request to stop thread is initiated.");
               PostResult2Qc.getInstance().stop();
            }
         }
      });
   }