TaskScheduler 是什么?
TaskScheduler 是 Spring 的轻量级调度器,适合单机、轻量、简单的定时/周期任务。
典型场景:缓存清理、心跳检测、延迟任务、动态调度。
不适合:分布式唯一执行、大规模调度、需要持久化的任务。
Spring Boot 自动配置类
所在包:org.springframework.boot.autoconfigure.task
类名:TaskSchedulingAutoConfiguration
package org.springframework.boot.autoconfigure.task;
import org.springframework.boot.LazyInitializationExcludeFilter;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.config.TaskManagementConfigUtils;
/**
* {@link EnableAutoConfiguration Auto-configuration} for {@link TaskScheduler}.
*
* @author Stephane Nicoll
* @author Moritz Halbritter
* @since 2.1.0
*/
@ConditionalOnClass(ThreadPoolTaskScheduler.class)
@AutoConfiguration(after = TaskExecutionAutoConfiguration.class)
@EnableConfigurationProperties(TaskSchedulingProperties.class)
@Import({ TaskSchedulingConfigurations.ThreadPoolTaskSchedulerBuilderConfiguration.class,
TaskSchedulingConfigurations.SimpleAsyncTaskSchedulerBuilderConfiguration.class,
TaskSchedulingConfigurations.TaskSchedulerConfiguration.class })
public class TaskSchedulin