# Package org.springframework.scheduling.annotation

JDK 1.5+ annotation for asynchronous method execution.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AsyncConfigurer | Interface to be implemented by @`Configuration` classes annotated with @`EnableAsync` that wish to customize the `Executor` instance used when processing async method invocations.
  SchedulingConfigurer | Optional interface to be implemented by @`Configuration` classes annotated with @`EnableScheduling`.

- Class Summary
  Class | Description
  --- | ---
  AbstractAsyncConfiguration | Abstract base `Configuration` class providing common structure for enabling Spring's asynchronous method execution capability.
  AnnotationAsyncExecutionInterceptor | Specialization of `AsyncExecutionInterceptor` that delegates method execution to an `Executor` based on the `Async` annotation.
  AsyncAnnotationAdvisor | Advisor that activates asynchronous method execution through the `Async` annotation.
  AsyncAnnotationBeanPostProcessor | Bean post-processor that automatically applies asynchronous invocation behavior to any bean that carries the `Async` annotation at class or method-level by adding a corresponding `AsyncAnnotationAdvisor` to the exposed proxy (either an existing AOP proxy or a newly generated proxy that implements all of the target's interfaces).
  AsyncConfigurationSelector | Selects which implementation of `AbstractAsyncConfiguration` should be used based on the value of `EnableAsync.mode()` on the importing `@Configuration` class.
  AsyncResult<V> | A pass-through `Future` handle that can be used for method signatures which are declared with a Future return type for asynchronous execution.
  ProxyAsyncConfiguration | `@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based asynchronous method execution.
  ScheduledAnnotationBeanPostProcessor | Bean post-processor that registers methods annotated with @`Scheduled` to be invoked by a `TaskScheduler` according to the "fixedRate", "fixedDelay", or "cron" expression provided via the annotation.
  SchedulingConfiguration | `@Configuration` class that registers a `ScheduledAnnotationBeanPostProcessor` bean capable of processing Spring's @`Scheduled` annotation.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Async | Annotation that marks a method as a candidate for asynchronous execution.
  EnableAsync | Enables Spring's asynchronous method execution capability, similar to functionality found in Spring's `<task:*>` XML namespace.
  EnableScheduling | Enables Spring's scheduled task execution capability, similar to functionality found in Spring's `<task:*>` XML namespace.
  Scheduled | Annotation that marks a method to be scheduled.
  Schedules | Container annotation that aggregates several `Scheduled` annotations.

## Package org.springframework.scheduling.annotation Description

JDK 1.5+ annotation for asynchronous method execution.