public class AsyncAnnotationAdvisor
extends org.springframework.aop.support.AbstractPointcutAdvisor
implements org.springframework.beans.factory.BeanFactoryAware
Async
 annotation. This annotation can be used at the method and type level in
 implementation classes as well as in service interfaces.
 This advisor detects the EJB 3.1 javax.ejb.Asynchronous
 annotation as well, treating it exactly like Spring's own Async.
 Furthermore, a custom async annotation type may get specified through the
 "asyncAnnotationType" property.
Async, 
AnnotationAsyncExecutionInterceptor, 
Serialized Form| Constructor and Description | 
|---|
| AsyncAnnotationAdvisor()Create a new  AsyncAnnotationAdvisorfor bean-style configuration. | 
| AsyncAnnotationAdvisor(Executor executor,
                      org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler exceptionHandler)Create a new  AsyncAnnotationAdvisorfor the given task executor. | 
| AsyncAnnotationAdvisor(Supplier<Executor> executor,
                      Supplier<org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler> exceptionHandler)Create a new  AsyncAnnotationAdvisorfor the given task executor. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected org.aopalliance.aop.Advice | buildAdvice(Supplier<Executor> executor,
           Supplier<org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler> exceptionHandler) | 
| protected org.springframework.aop.Pointcut | buildPointcut(Set<Class<? extends Annotation>> asyncAnnotationTypes)Calculate a pointcut for the given async annotation types, if any. | 
| org.aopalliance.aop.Advice | getAdvice() | 
| org.springframework.aop.Pointcut | getPointcut() | 
| void | setAsyncAnnotationType(Class<? extends Annotation> asyncAnnotationType)Set the 'async' annotation type. | 
| void | setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)Set the  BeanFactoryto be used when looking up executors by qualifier. | 
public AsyncAnnotationAdvisor()
AsyncAnnotationAdvisor for bean-style configuration.public AsyncAnnotationAdvisor(@Nullable
                              Executor executor,
                              @Nullable
                              org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler exceptionHandler)
AsyncAnnotationAdvisor for the given task executor.executor - the task executor to use for asynchronous methods
 (can be null to trigger default executor resolution)exceptionHandler - the AsyncUncaughtExceptionHandler to use to
 handle unexpected exception thrown by asynchronous method executionsAsyncExecutionInterceptor.getDefaultExecutor(BeanFactory)public AsyncAnnotationAdvisor(@Nullable
                              Supplier<Executor> executor,
                              @Nullable
                              Supplier<org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler> exceptionHandler)
AsyncAnnotationAdvisor for the given task executor.executor - the task executor to use for asynchronous methods
 (can be null to trigger default executor resolution)exceptionHandler - the AsyncUncaughtExceptionHandler to use to
 handle unexpected exception thrown by asynchronous method executionsAsyncExecutionInterceptor.getDefaultExecutor(BeanFactory)public void setAsyncAnnotationType(Class<? extends Annotation> asyncAnnotationType)
The default async annotation type is the Async annotation, as well
 as the EJB 3.1 javax.ejb.Asynchronous annotation (if present).
 
This setter property exists so that developers can provide their own (non-Spring-specific) annotation type to indicate that a method is to be executed asynchronously.
asyncAnnotationType - the desired annotation typepublic void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
BeanFactory to be used when looking up executors by qualifier.setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAwarepublic org.aopalliance.aop.Advice getAdvice()
getAdvice in interface org.springframework.aop.Advisorpublic org.springframework.aop.Pointcut getPointcut()
getPointcut in interface org.springframework.aop.PointcutAdvisorprotected org.aopalliance.aop.Advice buildAdvice(@Nullable
                                                 Supplier<Executor> executor,
                                                 @Nullable
                                                 Supplier<org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler> exceptionHandler)
protected org.springframework.aop.Pointcut buildPointcut(Set<Class<? extends Annotation>> asyncAnnotationTypes)
asyncAnnotationTypes - the async annotation types to introspectnull if none