@Override
  public void destroy() {
    if (getContext().getRunnerId() == 0) {
      if (generationExecutor != null) {
        generationExecutor.shutdown();
        try {
          if (!generationExecutor.awaitTermination(5, TimeUnit.SECONDS)) {
            generationExecutor.shutdownNow();
          }
        } catch (InterruptedException ex) {
          LOG.error("Interrupted while attempting to shutdown Generator Executor: ", ex);
          Thread.currentThread().interrupt();
        }
      }

      // close dataSource after closing threadpool executor as we could have queries running before closing the executor
      if (jdbcUtil != null) {
        jdbcUtil.closeQuietly(dataSource);
      }
    }

    super.destroy();
  }
@Override
  public void destroy() {
    if (getContext().getRunnerId() == 0) {
      if (generationExecutor != null) {
        generationExecutor.shutdown();
        try {
          if (!generationExecutor.awaitTermination(5, TimeUnit.SECONDS)) {
            generationExecutor.shutdownNow();
          }
        } catch (InterruptedException ex) {
          LOG.error("Interrupted while attempting to shutdown Generator Executor: ", ex);
          Thread.currentThread().interrupt();
        }
      }

      
      if (jdbcUtil != null) {
        jdbcUtil.closeQuietly(dataSource);
      }
    }

    super.destroy();
  }
@ Override public void destroy ( ) { if ( getContext ( ) . getRunnerId ( ) == 0 ) { if ( generationExecutor != null ) { generationExecutor . shutdown ( ) ; try { if ( ! generationExecutor . awaitTermination ( 5 , TimeUnit . SECONDS ) ) { generationExecutor . shutdownNow ( ) ; } } catch ( InterruptedException ex ) { LOG . error ( "Interrupted while attempting to shutdown Generator Executor: " , ex ) ; Thread . currentThread ( ) . interrupt ( ) ; } } // close dataSource after closing threadpool executor as we could have queries running before closing the executor if ( jdbcUtil != null ) { jdbcUtil . closeQuietly ( dataSource ) ; } } super . destroy ( ) ; }
{@inheritDoc}
{