Class TraceableExecutorService
java.lang.Object
org.springframework.cloud.sleuth.instrument.async.TraceableExecutorService
- All Implemented Interfaces:
Executor,ExecutorService
- Direct Known Subclasses:
TraceableScheduledExecutorService
A decorator class for
ExecutorService to support tracing in Executors.- Since:
- 1.0.0
- Author:
- Gaurav Rai Mazra
-
Constructor Summary
ConstructorsConstructorDescriptionTraceableExecutorService(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate) TraceableExecutorService(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate, String spanName) -
Method Summary
Modifier and TypeMethodDescriptionbooleanawaitTermination(long timeout, TimeUnit unit) voidinvokeAll(Collection<? extends Callable<T>> tasks) invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) <T> TinvokeAny(Collection<? extends Callable<T>> tasks) <T> TinvokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) booleanbooleanvoidshutdown()Future<?><T> Future<T><T> Future<T>static TraceableExecutorServicewrap(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate) Wraps the Executor in a trace instance.static TraceableExecutorServicewrap(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate, String beanName) Wraps the Executor in a trace instance.
-
Constructor Details
-
TraceableExecutorService
public TraceableExecutorService(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate) -
TraceableExecutorService
public TraceableExecutorService(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate, String spanName)
-
-
Method Details
-
wrap
public static TraceableExecutorService wrap(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate, String beanName) Wraps the Executor in a trace instance.- Parameters:
beanFactory- bean factorydelegate- delegate to wrapbeanName- bean name- Returns:
- traced instance
-
wrap
public static TraceableExecutorService wrap(org.springframework.beans.factory.BeanFactory beanFactory, ExecutorService delegate) Wraps the Executor in a trace instance.- Parameters:
beanFactory- bean factorydelegate- delegate to wrap- Returns:
- traced instance
-
execute
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceExecutorService
-
shutdownNow
- Specified by:
shutdownNowin interfaceExecutorService
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdownin interfaceExecutorService
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminatedin interfaceExecutorService
-
awaitTermination
- Specified by:
awaitTerminationin interfaceExecutorService- Throws:
InterruptedException
-
submit
- Specified by:
submitin interfaceExecutorService
-
submit
- Specified by:
submitin interfaceExecutorService
-
submit
- Specified by:
submitin interfaceExecutorService
-
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks) throws InterruptedException - Specified by:
invokeAllin interfaceExecutorService- Throws:
InterruptedException
-
invokeAll
public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException - Specified by:
invokeAllin interfaceExecutorService- Throws:
InterruptedException
-
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks) throws InterruptedException, ExecutionException - Specified by:
invokeAnyin interfaceExecutorService- Throws:
InterruptedExceptionExecutionException
-
invokeAny
public <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException - Specified by:
invokeAnyin interfaceExecutorService- Throws:
InterruptedExceptionExecutionExceptionTimeoutException
-