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: cm-task-demo- # 线程池的线程名的前缀。默认为 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
# 学习参考
上次更新: 2024/9/25 11:16:13