Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.scheduling.annotation
Class AnnotationAsyncExecutionInterceptor

    java.lang.Object
      org.springframework.aop.interceptor.AsyncExecutionAspectSupport
          org.springframework.aop.interceptor.AsyncExecutionInterceptor
              org.springframework.scheduling.annotation.AnnotationAsyncExecutionInterceptor

All Implemented Interfaces:
  org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor, Aware, BeanFactoryAware, Ordered

    public class AnnotationAsyncExecutionInterceptor

extends AsyncExecutionInterceptor

Specialization of `AsyncExecutionInterceptor` that delegates method execution to an `Executor` based on the `Async` annotation. Specifically designed to support use of `Async.value()` executor qualification mechanism introduced in Spring 3.2. Supports detecting qualifier metadata via `@Async` at the method or declaring class level. See `getExecutorQualifier(Method)` for details.

Since:
  3.2
Author:
  Chris Beams
See Also:
  `Async`, `AsyncAnnotationAdvisor`

Field Summary

Fields inherited from interface org.springframework.core.Ordered
`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

Constructor Summary
`AnnotationAsyncExecutionInterceptor(java.util.concurrent.Executor defaultExecutor)` Create a new `AnnotationAsyncExecutionInterceptor` with the given executor.

Method Summary
`protected java.lang.String` | `getExecutorQualifier(java.lang.reflect.Method method)` Return the qualifier or bean name of the executor to be used when executing the given method, specified via `Async.value()` at the method or declaring class level.

Methods inherited from class org.springframework.aop.interceptor.AsyncExecutionInterceptor
`getOrder, invoke`

Methods inherited from class org.springframework.aop.interceptor.AsyncExecutionAspectSupport
`determineAsyncExecutor, setBeanFactory, setExecutor`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AnnotationAsyncExecutionInterceptor

    public AnnotationAsyncExecutionInterceptor(java.util.concurrent.Executor defaultExecutor)

  Create a new `AnnotationAsyncExecutionInterceptor` with the given executor.

  Parameters:
    `defaultExecutor` - the executor to be used by default if no more specific executor has been qualified at the method level using `Async.value()`.

Method Detail

### getExecutorQualifier

    protected java.lang.String getExecutorQualifier(java.lang.reflect.Method method)

  Return the qualifier or bean name of the executor to be used when executing the given method, specified via `Async.value()` at the method or declaring class level. If `@Async` is specified at both the method and class level, the method's `#value` takes precedence (even if empty string, indicating that the default executor should be used preferentially).

  Overrides:
    `getExecutorQualifier` in class `AsyncExecutionInterceptor`
  Parameters:
    `method` - the method to inspect for executor qualifier metadata
  Returns:
    the qualifier if specified, otherwise empty string indicating that the default executor should be used
  See Also:
    `AsyncExecutionAspectSupport.determineAsyncExecutor(Method)`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD