public abstract class AsyncExecutionAspectSupport extends Object implements BeanFactoryAware
AnnotationAsyncExecutionInterceptor
or org.springframework.scheduling.aspectj.AnnotationAsyncExecutionAspect.
Provides support for executor qualification on a method-by-method basis.
AsyncExecutionAspectSupport objects must be constructed with a default Executor, but each individual method may further qualify a specific Executor
bean to be used when executing it, e.g. through an annotation attribute.
| Constructor and Description |
|---|
AsyncExecutionAspectSupport(Executor defaultExecutor)
Create a new
AsyncExecutionAspectSupport, using the provided default
executor unless individual async methods indicate via qualifier that a more
specific executor should be used. |
| Modifier and Type | Method and Description |
|---|---|
protected AsyncTaskExecutor |
determineAsyncExecutor(Method method)
Determine the specific executor to use when executing the given method.
|
protected abstract String |
getExecutorQualifier(Method method)
Return the qualifier or bean name of the executor to be used when executing the
given async method, typically specified in the form of an annotation attribute.
|
void |
setBeanFactory(BeanFactory beanFactory)
Set the
BeanFactory to be used when looking up executors by qualifier. |
void |
setExecutor(Executor defaultExecutor)
Supply the executor to be used when executing async methods.
|
public AsyncExecutionAspectSupport(Executor defaultExecutor)
AsyncExecutionAspectSupport, using the provided default
executor unless individual async methods indicate via qualifier that a more
specific executor should be used.defaultExecutor - the executor to use when executing asynchronous methodspublic void setExecutor(Executor defaultExecutor)
defaultExecutor - the Executor (typically a Spring AsyncTaskExecutor or ExecutorService) to delegate to
unless a more specific executor has been requested via a qualifier on the async
method, in which case the executor will be looked up at invocation time against the
enclosing bean factory.getExecutorQualifier(java.lang.reflect.Method),
setBeanFactory(BeanFactory)public void setBeanFactory(BeanFactory beanFactory) throws BeansException
BeanFactory to be used when looking up executors by qualifier.setBeanFactory in interface BeanFactoryAwarebeanFactory - owning BeanFactory (never null).
The bean can immediately call methods on the factory.BeansException - in case of initialization errorsBeanInitializationExceptionprotected AsyncTaskExecutor determineAsyncExecutor(Method method)
null)protected abstract String getExecutorQualifier(Method method)
null indicates that no specific executor has
been specified and that the default executor
should be used.method - the method to inspect for executor qualifier metadatanulldetermineAsyncExecutor(Method)