Class CloseableExecutorService

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    CloseableScheduledExecutorService

    public class CloseableExecutorService
    extends java.lang.Object
    implements java.io.Closeable
    Decoration on an ExecutorService that tracks created futures and provides a method to close futures created via this class
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.concurrent.atomic.AtomicBoolean isOpen  
    • Constructor Summary

      Constructors 
      Constructor Description
      CloseableExecutorService​(java.util.concurrent.ExecutorService executorService)  
      CloseableExecutorService​(java.util.concurrent.ExecutorService executorService, boolean shutdownOnClose)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Closes any tasks currently in progress
      boolean isShutdown()
      Returns true if this executor has been shut down.
      java.util.concurrent.Future<?> submit​(java.lang.Runnable task)
      Submits a Runnable task for execution and returns a Future representing that task.
      <V> java.util.concurrent.Future<V> submit​(java.util.concurrent.Callable<V> task)
      Submits a value-returning task for execution and returns a Future representing the pending results of the task.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • isOpen

        protected final java.util.concurrent.atomic.AtomicBoolean isOpen
    • Constructor Detail

      • CloseableExecutorService

        public CloseableExecutorService​(java.util.concurrent.ExecutorService executorService)
        Parameters:
        executorService - the service to decorate
      • CloseableExecutorService

        public CloseableExecutorService​(java.util.concurrent.ExecutorService executorService,
                                        boolean shutdownOnClose)
        Parameters:
        executorService - the service to decorate
        shutdownOnClose - if true, shutdown the executor service when this is closed
    • Method Detail

      • isShutdown

        public boolean isShutdown()
        Returns true if this executor has been shut down.
        Returns:
        true if this executor has been shut down
      • close

        public void close()
        Closes any tasks currently in progress
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • submit

        public <V> java.util.concurrent.Future<V> submit​(java.util.concurrent.Callable<V> task)
        Submits a value-returning task for execution and returns a Future representing the pending results of the task. Upon completion, this task may be taken or polled.
        Parameters:
        task - the task to submit
        Returns:
        a future to watch the task
      • submit

        public java.util.concurrent.Future<?> submit​(java.lang.Runnable task)
        Submits a Runnable task for execution and returns a Future representing that task. Upon completion, this task may be taken or polled.
        Parameters:
        task - the task to submit
        Returns:
        a future to watch the task