Class DelegatingSecurityContextExecutorService
- java.lang.Object
-
- org.springframework.security.concurrent.DelegatingSecurityContextExecutor
-
- org.springframework.security.concurrent.DelegatingSecurityContextExecutorService
-
- All Implemented Interfaces:
java.util.concurrent.Executor,java.util.concurrent.ExecutorService
- Direct Known Subclasses:
DelegatingSecurityContextScheduledExecutorService
public class DelegatingSecurityContextExecutorService extends DelegatingSecurityContextExecutor implements java.util.concurrent.ExecutorService
AnExecutorServicewhich wraps eachRunnablein aDelegatingSecurityContextRunnableand eachCallablein aDelegatingSecurityContextCallable.- Since:
- 3.2
-
-
Constructor Summary
Constructors Constructor Description DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegate)Creates a newDelegatingSecurityContextExecutorServicethat uses the currentSecurityContextfrom theSecurityContextHolder.DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegateExecutorService, SecurityContext securityContext)Creates a newDelegatingSecurityContextExecutorServicethat uses the specifiedSecurityContext.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanawaitTermination(long timeout, java.util.concurrent.TimeUnit unit)java.util.ListinvokeAll(java.util.Collection tasks)java.util.ListinvokeAll(java.util.Collection tasks, long timeout, java.util.concurrent.TimeUnit unit)java.lang.ObjectinvokeAny(java.util.Collection tasks)java.lang.ObjectinvokeAny(java.util.Collection tasks, long timeout, java.util.concurrent.TimeUnit unit)booleanisShutdown()booleanisTerminated()voidshutdown()java.util.List<java.lang.Runnable>shutdownNow()java.util.concurrent.Future<?>submit(java.lang.Runnable task)<T> java.util.concurrent.Future<T>submit(java.lang.Runnable task, T result)<T> java.util.concurrent.Future<T>submit(java.util.concurrent.Callable<T> task)protected java.lang.Runnablewrap(java.lang.Runnable delegate)protected <T> java.util.concurrent.Callable<T>wrap(java.util.concurrent.Callable<T> delegate)-
Methods inherited from class org.springframework.security.concurrent.DelegatingSecurityContextExecutor
execute, getDelegateExecutor, setSecurityContextHolderStrategy
-
-
-
-
Constructor Detail
-
DelegatingSecurityContextExecutorService
public DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegateExecutorService, SecurityContext securityContext)Creates a newDelegatingSecurityContextExecutorServicethat uses the specifiedSecurityContext.- Parameters:
delegateExecutorService- theExecutorServiceto delegate to. Cannot be null.securityContext- theSecurityContextto use for eachDelegatingSecurityContextRunnableand eachDelegatingSecurityContextCallable.
-
DelegatingSecurityContextExecutorService
public DelegatingSecurityContextExecutorService(java.util.concurrent.ExecutorService delegate)
Creates a newDelegatingSecurityContextExecutorServicethat uses the currentSecurityContextfrom theSecurityContextHolder.- Parameters:
delegate- theExecutorServiceto delegate to. Cannot be null.
-
-
Method Detail
-
shutdown
public final void shutdown()
- Specified by:
shutdownin interfacejava.util.concurrent.ExecutorService
-
shutdownNow
public final java.util.List<java.lang.Runnable> shutdownNow()
- Specified by:
shutdownNowin interfacejava.util.concurrent.ExecutorService
-
isShutdown
public final boolean isShutdown()
- Specified by:
isShutdownin interfacejava.util.concurrent.ExecutorService
-
isTerminated
public final boolean isTerminated()
- Specified by:
isTerminatedin interfacejava.util.concurrent.ExecutorService
-
awaitTermination
public final boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
awaitTerminationin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
submit
public final <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
public final <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task, T result)- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
public final java.util.concurrent.Future<?> submit(java.lang.Runnable task)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
invokeAll
public final java.util.List invokeAll(java.util.Collection tasks) throws java.lang.InterruptedException- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
invokeAll
public final java.util.List invokeAll(java.util.Collection tasks, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
invokeAny
public final java.lang.Object invokeAny(java.util.Collection tasks) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionException
-
invokeAny
public 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- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.util.concurrent.TimeoutException
-
wrap
protected final java.lang.Runnable wrap(java.lang.Runnable delegate)
-
wrap
protected final <T> java.util.concurrent.Callable<T> wrap(java.util.concurrent.Callable<T> delegate)
-
-