Package org.forgerock.util.thread
Class MdcExecutorServiceDelegate
- java.lang.Object
 - 
- org.forgerock.util.thread.MdcExecutorServiceDelegate
 
 
- 
- All Implemented Interfaces:
 Executor,ExecutorService
- Direct Known Subclasses:
 MdcScheduledExecutorServiceDelegate
public class MdcExecutorServiceDelegate extends Object implements ExecutorService
Store SLF4J Mapped Diagnosed Context (aka MDC) when tasks are submitted, and re-inject it when tasks are executed.- See Also:
 ExecutorService, SLF4J Mapped Diagnosed Context
 
- 
- 
Constructor Summary
Constructors Constructor Description MdcExecutorServiceDelegate(ExecutorService delegate)Constructs an instance ofExecutorServicethat will forward the SLF4J Mapped Diagnosed Context to submitted tasks, and will execute these on the provided delegate. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanawaitTermination(long timeout, TimeUnit unit)voidexecute(Runnable command)<T> List<Future<T>>invokeAll(Collection<? extends Callable<T>> tasks)<T> List<Future<T>>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)booleanisShutdown()booleanisTerminated()voidshutdown()List<Runnable>shutdownNow()Future<?>submit(Runnable task)<T> Future<T>submit(Runnable task, T result)<T> Future<T>submit(Callable<T> task) 
 - 
 
- 
- 
Constructor Detail
- 
MdcExecutorServiceDelegate
public MdcExecutorServiceDelegate(ExecutorService delegate)
Constructs an instance ofExecutorServicethat will forward the SLF4J Mapped Diagnosed Context to submitted tasks, and will execute these on the provided delegate.- Parameters:
 delegate- theExecutorServiceto use to execute the submitted tasks
 
 - 
 
- 
Method Detail
- 
shutdown
public void shutdown()
- Specified by:
 shutdownin interfaceExecutorService
 
- 
shutdownNow
public List<Runnable> shutdownNow()
- Specified by:
 shutdownNowin interfaceExecutorService
 
- 
isShutdown
public boolean isShutdown()
- Specified by:
 isShutdownin interfaceExecutorService
 
- 
isTerminated
public boolean isTerminated()
- Specified by:
 isTerminatedin interfaceExecutorService
 
- 
awaitTermination
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException- Specified by:
 awaitTerminationin interfaceExecutorService- Throws:
 InterruptedException
 
- 
submit
public <T> Future<T> submit(Callable<T> task)
- Specified by:
 submitin interfaceExecutorService
 
- 
submit
public <T> Future<T> submit(Runnable task, T result)
- Specified by:
 submitin interfaceExecutorService
 
- 
submit
public Future<?> submit(Runnable task)
- 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
 
 - 
 
 -