# Package org.springframework.scheduling.concurrent

@NonNullApi @NonNullFields package 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. Provides support for the native `java.util.concurrent` interfaces as well as the Spring `TaskExecutor` mechanism.

Related Packages
Package
Description
org.springframework.scheduling
General exceptions for Spring's scheduling support, independent of any specific scheduling system.
org.springframework.scheduling.annotation
Annotation support for asynchronous method execution.
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.
Classes
Class
Description
ConcurrentTaskExecutor
Adapter that takes a `java.util.concurrent.Executor` and exposes a Spring `TaskExecutor` for it.
ConcurrentTaskExecutor.ManagedTaskBuilder
Delegate that wraps a given Runnable/Callable with a JSR-236 ManagedTask, exposing a long-running hint based on `SchedulingAwareRunnable` and a given identity name.
ConcurrentTaskScheduler
Adapter that takes a `java.util.concurrent.ScheduledExecutorService` and exposes a Spring `TaskScheduler` for it.
CustomizableThreadFactory
Implementation of the `ThreadFactory` interface, allowing for customizing the created threads (name, priority, etc).
DefaultManagedAwareThreadFactory
JNDI-based variant of `CustomizableThreadFactory`, performing a default lookup for JSR-236's "java:comp/DefaultManagedThreadFactory" in a Jakarta EE environment, falling back to the local `CustomizableThreadFactory` setup if not found.
DefaultManagedTaskExecutor
JNDI-based variant of `ConcurrentTaskExecutor`, performing a default lookup for JSR-236's "java:comp/DefaultManagedExecutorService" in a Jakarta EE/8 environment.
DefaultManagedTaskScheduler
JNDI-based variant of `ConcurrentTaskScheduler`, performing a default lookup for JSR-236's "java:comp/DefaultManagedScheduledExecutorService" in a Jakarta EE environment.
ExecutorConfigurationSupport
Base class for setting up a `ExecutorService` (typically a `ThreadPoolExecutor` or `ScheduledThreadPoolExecutor`).
ForkJoinPoolFactoryBean
A Spring `FactoryBean` that builds and exposes a preconfigured `ForkJoinPool`.
ScheduledExecutorFactoryBean
`FactoryBean` that sets up a `ScheduledExecutorService` (by default: a `ScheduledThreadPoolExecutor`) and exposes it for bean references.
ScheduledExecutorTask
JavaBean that describes a scheduled executor task, consisting of the `Runnable` and a delay plus period.
SimpleAsyncTaskScheduler
A simple implementation of Spring's `TaskScheduler` interface, using a single scheduler thread and executing every scheduled task in an individual separate thread.
ThreadPoolExecutorFactoryBean
JavaBean that allows for configuring a `ThreadPoolExecutor` in bean style (through its "corePoolSize", "maxPoolSize", "keepAliveSeconds", "queueCapacity" properties) and exposing it as a bean reference of its native `ExecutorService` type.
ThreadPoolTaskExecutor
JavaBean that allows for configuring a `ThreadPoolExecutor` in bean style (through its "corePoolSize", "maxPoolSize", "keepAliveSeconds", "queueCapacity" properties) and exposing it as a Spring `TaskExecutor`.
ThreadPoolTaskScheduler
A standard implementation of Spring's `TaskScheduler` interface, wrapping a native `ScheduledThreadPoolExecutor` and providing all applicable configuration options for it.