注释类型 Async


  • @Target({METHOD,TYPE})
    @Retention(RUNTIME)
    @Documented
    public @interface Async
    Annotation that marks a method as a candidate for asynchronous execution. Can also be used at the type level, in which case all of the type's methods are considered as asynchronous.

    In terms of target method signatures, any parameter types are supported. However, the return type is constrained to either void or Future. In the latter case, you may declare the more specific ListenableFuture or CompletableFuture types which allow for richer interaction with the asynchronous task and for immediate composition with further processing steps.

    A Future handle returned from the proxy will be an actual asynchronous Future that can be used to track the result of the asynchronous method execution. However, since the target method needs to implement the same signature, it will have to return a temporary Future handle that just passes a value through: e.g. Spring's AsyncResult, EJB 3.1's javax.ejb.AsyncResult, or CompletableFuture.completedFuture(Object).

    从以下版本开始:
    3.0
    作者:
    Juergen Hoeller, Chris Beams
    另请参阅:
    AnnotationAsyncExecutionInterceptor, AsyncAnnotationAdvisor
    • 可选元素概要

      可选元素 
      修饰符和类型可选元素说明
      Stringvalue
      A qualifier value for the specified asynchronous operation(s).
    • 元素详细资料

      • value

        String value
        A qualifier value for the specified asynchronous operation(s).

        May be used to determine the target executor to be used when executing this method, matching the qualifier value (or the bean name) of a specific Executor or TaskExecutor bean definition.

        When specified on a class level @Async annotation, indicates that the given executor should be used for all methods within the class. Method level use of Async#value always overrides any value set at the class level.

        从以下版本开始:
        3.1.2
        默认值:
        ""