com.atlassian.sal.core.executor
Class ThreadLocalDelegateExecutorService

java.lang.Object
  extended by java.util.concurrent.AbstractExecutorService
      extended by com.atlassian.sal.core.executor.ThreadLocalDelegateExecutorService
All Implemented Interfaces:
Executor, ExecutorService
Direct Known Subclasses:
ThreadLocalDelegateScheduledExecutorService

public class ThreadLocalDelegateExecutorService
extends AbstractExecutorService

Executor service that wraps executing callables and runnables in a wrapper that transfers the thread local state of the caller to the thread of the executing task.

Since:
2.0

Field Summary
protected  ThreadLocalContextManager manager
           
 
Constructor Summary
ThreadLocalDelegateExecutorService(ThreadLocalContextManager manager, ExecutorService delegate)
           
 
Method Summary
 boolean awaitTermination(long timeout, TimeUnit unit)
           
 void execute(Runnable command)
           
 boolean isShutdown()
           
 boolean isTerminated()
           
 void shutdown()
           
 List<Runnable> shutdownNow()
           
 
Methods inherited from class java.util.concurrent.AbstractExecutorService
invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

manager

protected final ThreadLocalContextManager manager
Constructor Detail

ThreadLocalDelegateExecutorService

public ThreadLocalDelegateExecutorService(ThreadLocalContextManager manager,
                                          ExecutorService delegate)
Method Detail

shutdown

public void shutdown()

shutdownNow

public List<Runnable> shutdownNow()

isShutdown

public boolean isShutdown()

isTerminated

public boolean isTerminated()

awaitTermination

public boolean awaitTermination(long timeout,
                                TimeUnit unit)
                         throws InterruptedException
Throws:
InterruptedException

execute

public void execute(Runnable command)


Copyright © 2010 Atlassian. All Rights Reserved.