# Package org.springframework.scheduling.annotation

@NonNullApi @NonNullFields package org.springframework.scheduling.annotation
Annotation support for asynchronous method execution.

Related Packages
Package
Description
org.springframework.scheduling
General exceptions for Spring's scheduling support, independent of any specific scheduling system.
org.springframework.scheduling.concurrent
Scheduling convenience classes for the `java.util.concurrent` and `jakarta.enterprise.concurrent` packages, allowing to set up a ThreadPoolExecutor or ScheduledThreadPoolExecutor as a bean in a Spring context.
org.springframework.scheduling.config
Support package for declarative scheduling configuration, with XML schema being the primary configuration format.
org.springframework.scheduling.support
Generic support classes for scheduling.
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.
Async
Annotation that marks a method as a candidate for asynchronous execution.
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 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.
AsyncConfigurer
Interface to be implemented for customizing the `Executor` instance used when processing async method invocations or the `AsyncUncaughtExceptionHandler` instance used to process exceptions thrown from async methods with a `void` return type.
AsyncConfigurerSupport
Deprecated.
as of 6.0 in favor of implementing `AsyncConfigurer` directly
AsyncResult<V>
Deprecated.
as of 6.0, in favor of `CompletableFuture`
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.
ProxyAsyncConfiguration
`@Configuration` class that registers the Spring infrastructure beans necessary to enable proxy-based asynchronous method execution.
Scheduled
Annotation that marks a method to be scheduled.
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.
Schedules
Container annotation that aggregates several `Scheduled` annotations.
SchedulingConfiguration
`@Configuration` class that registers a `ScheduledAnnotationBeanPostProcessor` bean capable of processing Spring's @`Scheduled` annotation.
SchedulingConfigurer
Optional interface to be implemented by `@Configuration` classes annotated with `@EnableScheduling`.