SpringTask学习
# Spring Task 学习
# @EnableScheduling
首先,需要在 启动类 或者 配置类 上,添加 @EnableScheduling (opens new window) 注解,启动 Spring Task 的定时任务调度的功能。
# @Scheduled
@Scheduled (opens new window) 注解,设置定时任务的执行计划。
常用属性如下:
cron属性:Spring Cron 表达式。fixedDelay属性:固定执行间隔,单位:毫秒。注意,以调用完成时刻为开始计时时间。fixedRate属性:固定执行间隔,单位:毫秒。注意,以调用开始时刻为开始计时时间。
不常用属性如下:
initialDelay属性:初始化的定时任务执行延迟,单位:毫秒。zone属性:解析 Spring Cron 表达式的所属的时区。默认情况下,使用服务器的本地时区。initialDelayString属性:initialDelay的字符串形式。fixedDelayString属性:fixedDelay的字符串形式。fixedRateString属性:fixedRate的字符串形式。
# 应用配置文件
示例:
@Scheduled默认是单线程配置,可通过修改配置文件来设置线程池大小
spring:
application:
name:
task-demo
task:
# Spring Task 调度任务的配置,对应 TaskSchedulingProperties 配置类
scheduling:
thread-name-prefix: Scheduler-Thread- # 线程池的线程名的前缀。默认为 scheduling- ,建议根据自己应用来设置
pool:
size: 10 # 线程池大小。默认为 1 ,根据自己应用来设置
shutdown:
await-termination: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
await-termination-period: 60 # 等待任务完成的最大时长,单位为秒。默认为 0 ,根据自己应用来设置
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 学习参考
上次更新: 2025/1/6 17:59:10