Interface InstrumentedExecutorService

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      default boolean awaitTermination​(long timeout, java.util.concurrent.TimeUnit unit)  
      java.util.concurrent.ExecutorService getTarget()
      Implementors can override to specify the target ExecutorService.
      default <T> java.util.concurrent.Callable<T> instrument​(java.util.concurrent.Callable<T> task)
      Instruments the given callable task.
      default <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      default <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      default <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)  
      default <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)  
      default boolean isShutdown()  
      default boolean isTerminated()  
      default void shutdown()  
      default java.util.List<java.lang.Runnable> shutdownNow()  
      default java.util.concurrent.Future<?> submit​(java.lang.Runnable task)  
      default <T> java.util.concurrent.Future<T> submit​(java.lang.Runnable task, T result)  
      default <T> java.util.concurrent.Future<T> submit​(java.util.concurrent.Callable<T> task)  
    • Method Detail

      • getTarget

        java.util.concurrent.ExecutorService getTarget()
        Implementors can override to specify the target ExecutorService.
        Specified by:
        getTarget in interface InstrumentedExecutor
        Returns:
        The target ExecutorService
      • instrument

        default <T> java.util.concurrent.Callable<T> instrument​(java.util.concurrent.Callable<T> task)
        Instruments the given callable task.
        Type Parameters:
        T - The generic return type
        Parameters:
        task - the task to instrument
        Returns:
        The callable
      • shutdown

        default void shutdown()
        Specified by:
        shutdown in interface java.util.concurrent.ExecutorService
      • shutdownNow

        default java.util.List<java.lang.Runnable> shutdownNow()
        Specified by:
        shutdownNow in interface java.util.concurrent.ExecutorService
      • isShutdown

        default boolean isShutdown()
        Specified by:
        isShutdown in interface java.util.concurrent.ExecutorService
      • isTerminated

        default boolean isTerminated()
        Specified by:
        isTerminated in interface java.util.concurrent.ExecutorService
      • awaitTermination

        default boolean awaitTermination​(long timeout,
                                         @NonNull
                                         java.util.concurrent.TimeUnit unit)
                                  throws java.lang.InterruptedException
        Specified by:
        awaitTermination in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • submit

        @NonNull
        default <T> java.util.concurrent.Future<T> submit​(@NonNull
                                                          java.util.concurrent.Callable<T> task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        @NonNull
        default <T> java.util.concurrent.Future<T> submit​(@NonNull
                                                          java.lang.Runnable task,
                                                          T result)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        @NonNull
        default java.util.concurrent.Future<?> submit​(@NonNull
                                                      java.lang.Runnable task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • invokeAll

        @NonNull
        default <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(@NonNull
                                                                             java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                                                                      throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAll

        @NonNull
        default <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(@NonNull
                                                                             java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                                                                             long timeout,
                                                                             @NonNull
                                                                             java.util.concurrent.TimeUnit unit)
                                                                      throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAny

        @NonNull
        default <T> T invokeAny​(@NonNull
                                java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                         throws java.lang.InterruptedException,
                                java.util.concurrent.ExecutionException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • invokeAny

        @NonNull
        default <T> T invokeAny​(@NonNull
                                java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                                long timeout,
                                @NonNull
                                java.util.concurrent.TimeUnit unit)
                         throws java.lang.InterruptedException,
                                java.util.concurrent.ExecutionException,
                                java.util.concurrent.TimeoutException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
        java.util.concurrent.TimeoutException