public class DelegatingSecurityContextExecutorService extends DelegatingSecurityContextExecutor implements java.util.concurrent.ExecutorService
ExecutorService which wraps each Runnable in a
DelegatingSecurityContextRunnable and each Callable in a
DelegatingSecurityContextCallable.| Constructor and Description |
|---|
DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegate)
Creates a new
DelegatingSecurityContextExecutorService that uses the
current SecurityContext from the SecurityContextHolder. |
DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegateExecutorService,
SecurityContext securityContext)
Creates a new
DelegatingSecurityContextExecutorService that uses the
specified SecurityContext. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit) |
java.util.List |
invokeAll(java.util.Collection tasks) |
java.util.List |
invokeAll(java.util.Collection tasks,
long timeout,
java.util.concurrent.TimeUnit unit) |
java.lang.Object |
invokeAny(java.util.Collection tasks) |
java.lang.Object |
invokeAny(java.util.Collection tasks,
long timeout,
java.util.concurrent.TimeUnit unit) |
boolean |
isShutdown() |
boolean |
isTerminated() |
void |
shutdown() |
java.util.List<java.lang.Runnable> |
shutdownNow() |
<T> java.util.concurrent.Future<T> |
submit(java.util.concurrent.Callable<T> task) |
java.util.concurrent.Future<?> |
submit(java.lang.Runnable task) |
<T> java.util.concurrent.Future<T> |
submit(java.lang.Runnable task,
T result) |
protected <T> java.util.concurrent.Callable<T> |
wrap(java.util.concurrent.Callable<T> delegate) |
protected java.lang.Runnable |
wrap(java.lang.Runnable delegate) |
execute, getDelegateExecutorpublic DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegateExecutorService,
SecurityContext securityContext)
DelegatingSecurityContextExecutorService that uses the
specified SecurityContext.delegateExecutorService - the ExecutorService to delegate to. Cannot
be null.securityContext - the SecurityContext to use for each
DelegatingSecurityContextRunnable and each
DelegatingSecurityContextCallable.public DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegate)
DelegatingSecurityContextExecutorService that uses the
current SecurityContext from the SecurityContextHolder.delegate - the ExecutorService to delegate to. Cannot be
null.public final void shutdown()
shutdown in interface java.util.concurrent.ExecutorServicepublic final java.util.List<java.lang.Runnable> shutdownNow()
shutdownNow in interface java.util.concurrent.ExecutorServicepublic final boolean isShutdown()
isShutdown in interface java.util.concurrent.ExecutorServicepublic final boolean isTerminated()
isTerminated in interface java.util.concurrent.ExecutorServicepublic final boolean awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
awaitTermination in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionpublic final <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
submit in interface java.util.concurrent.ExecutorServicepublic final <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task,
T result)
submit in interface java.util.concurrent.ExecutorServicepublic final java.util.concurrent.Future<?> submit(java.lang.Runnable task)
submit in interface java.util.concurrent.ExecutorServicepublic final java.util.List invokeAll(java.util.Collection tasks)
throws java.lang.InterruptedException
invokeAll in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionpublic final java.util.List invokeAll(java.util.Collection tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
invokeAll in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionpublic final java.lang.Object invokeAny(java.util.Collection tasks)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException
invokeAny in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic final java.lang.Object invokeAny(java.util.Collection tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException,
java.util.concurrent.TimeoutException
invokeAny in interface java.util.concurrent.ExecutorServicejava.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.util.concurrent.TimeoutExceptionprotected final java.lang.Runnable wrap(java.lang.Runnable delegate)
protected final <T> java.util.concurrent.Callable<T> wrap(java.util.concurrent.Callable<T> delegate)