Annotation Interface Async
Can also be used at the type level, in which case all the type's methods are
 considered as asynchronous. Note, however, that @Async is not supported
 on methods declared within a
 @Configuration class.
 
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 CompletableFuture type which allows
 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
 (Completable)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 after computation in the execution thread: typically through
 CompletableFuture.completedFuture(Object). The
 provided value will be exposed to the caller through the actual asynchronous
 Future handle at runtime.
- Since:
- 3.0
- Author:
- Juergen Hoeller, Chris Beams
- See Also:
- 
Optional Element SummaryOptional Elements
- 
Element Details- 
valueString valueA qualifier value for the specified asynchronous operation(s).May be used to determine the target executor to be used when executing the asynchronous operation(s), matching the qualifier value (or the bean name) of a specific ExecutororTaskExecutorbean definition.When specified in a class-level @Asyncannotation, indicates that the given executor should be used for all methods within the class. Method-level use ofAsync#valuealways overrides any qualifier value configured at the class level.The qualifier value will be resolved dynamically if supplied as a SpEL expression (for example, "#{environment['myExecutor']}") or a property placeholder (for example,"${my.app.myExecutor}").- Since:
- 3.1.2
 - Default:
- ""
 
 
-