Interface InstrumentedExecutorService
-
- All Superinterfaces:
java.util.concurrent.Executor
,java.util.concurrent.ExecutorService
,InstrumentedExecutor
,RunnableInstrumenter
- All Known Subinterfaces:
InstrumentedScheduledExecutorService
public interface InstrumentedExecutorService extends java.util.concurrent.ExecutorService, InstrumentedExecutor
AnExecutorService
that has been instrumented to allow for propagation of thread state and other instrumentation related tasks.- Since:
- 1.0
-
-
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 targetExecutorService
.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)
-
Methods inherited from interface io.micronaut.scheduling.instrument.InstrumentedExecutor
execute
-
Methods inherited from interface io.micronaut.scheduling.instrument.RunnableInstrumenter
instrument
-
-
-
-
Method Detail
-
getTarget
java.util.concurrent.ExecutorService getTarget()
Implementors can override to specify the targetExecutorService
.- Specified by:
getTarget
in interfaceInstrumentedExecutor
- 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 interfacejava.util.concurrent.ExecutorService
-
shutdownNow
default java.util.List<java.lang.Runnable> shutdownNow()
- Specified by:
shutdownNow
in interfacejava.util.concurrent.ExecutorService
-
isShutdown
default boolean isShutdown()
- Specified by:
isShutdown
in interfacejava.util.concurrent.ExecutorService
-
isTerminated
default boolean isTerminated()
- Specified by:
isTerminated
in interfacejava.util.concurrent.ExecutorService
-
awaitTermination
default boolean awaitTermination(long timeout, @NonNull java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Specified by:
awaitTermination
in interfacejava.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 interfacejava.util.concurrent.ExecutorService
-
submit
@NonNull default <T> java.util.concurrent.Future<T> submit(@NonNull java.lang.Runnable task, T result)
- Specified by:
submit
in interfacejava.util.concurrent.ExecutorService
-
submit
@NonNull default java.util.concurrent.Future<?> submit(@NonNull java.lang.Runnable task)
- Specified by:
submit
in interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.util.concurrent.ExecutorService
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException
-
-