类 TaskExecutorBuilder


  • public class TaskExecutorBuilder
    extends Object
    Builder that can be used to configure and create a TaskExecutor. Provides convenience methods to set common ThreadPoolTaskExecutor settings and register taskDecorator(TaskDecorator)). For advanced configuration, consider using TaskExecutorCustomizer.

    In a typical auto-configured Spring Boot application this builder is available as a bean and can be injected whenever a TaskExecutor is needed.

    从以下版本开始:
    2.1.0
    • 方法详细资料

      • queueCapacity

        public TaskExecutorBuilder queueCapacity​(int queueCapacity)
        Set the capacity of the queue. An unbounded capacity does not increase the pool and therefore ignores maxPoolSize.
        参数:
        queueCapacity - the queue capacity to set
        返回:
        a new builder instance
      • corePoolSize

        public TaskExecutorBuilder corePoolSize​(int corePoolSize)
        Set the core number of threads. Effectively that maximum number of threads as long as the queue is not full.

        Core threads can grow and shrink if allowCoreThreadTimeOut(boolean) is enabled.

        参数:
        corePoolSize - the core pool size to set
        返回:
        a new builder instance
      • maxPoolSize

        public TaskExecutorBuilder maxPoolSize​(int maxPoolSize)
        Set the maximum allowed number of threads. When the queue is full, the pool can expand up to that size to accommodate the load.

        If the queue capacity is unbounded, this setting is ignored.

        参数:
        maxPoolSize - the max pool size to set
        返回:
        a new builder instance
      • allowCoreThreadTimeOut

        public TaskExecutorBuilder allowCoreThreadTimeOut​(boolean allowCoreThreadTimeOut)
        Set whether core threads are allow to time out. When enabled, this enables dynamic growing and shrinking of the pool.
        参数:
        allowCoreThreadTimeOut - if core threads are allowed to time out
        返回:
        a new builder instance
      • keepAlive

        public TaskExecutorBuilder keepAlive​(Duration keepAlive)
        Set the time limit for which threads may remain idle before being terminated.
        参数:
        keepAlive - the keep alive to set
        返回:
        a new builder instance
      • threadNamePrefix

        public TaskExecutorBuilder threadNamePrefix​(String threadNamePrefix)
        Set the prefix to use for the names of newly created threads.
        参数:
        threadNamePrefix - the thread name prefix to set
        返回:
        a new builder instance
      • taskDecorator

        public TaskExecutorBuilder taskDecorator​(org.springframework.core.task.TaskDecorator taskDecorator)
        Set the TaskDecorator to use or null to not use any.
        参数:
        taskDecorator - the task decorator to use
        返回:
        a new builder instance
      • build

        public org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor build()
        Build a new ThreadPoolTaskExecutor instance and configure it using this builder.
        返回:
        a configured ThreadPoolTaskExecutor instance.
        另请参阅:
        build(Class), configure(ThreadPoolTaskExecutor)
      • build

        public <T extends org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor> T build​(Class<T> taskExecutorClass)
        Build a new ThreadPoolTaskExecutor instance of the specified type and configure it using this builder.
        类型参数:
        T - the type of task executor
        参数:
        taskExecutorClass - the template type to create
        返回:
        a configured ThreadPoolTaskExecutor instance.
        另请参阅:
        build(), configure(ThreadPoolTaskExecutor)
      • configure

        public <T extends org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor> T configure​(T taskExecutor)
        Configure the provided ThreadPoolTaskExecutor instance using this builder.
        类型参数:
        T - the type of task executor
        参数:
        taskExecutor - the ThreadPoolTaskExecutor to configure
        返回:
        the task executor instance
        另请参阅:
        build(), build(Class)