@Scheduled
@Scheduled 参数
具体参数可以参考spring-context-5.1.6.RELEASE.jar下面的org.springframework.scheduling.annotation.Scheduled类
cron
设置时分秒等具体的定时。cron表达式
// 每隔10分钟执行一次
@Scheduled(cron="0 0/10 * * * ?")
zone
时区,接收一个java.util.TimeZone#ID。cron表达式会基于该时区解析。默认是一个空字符串,即取服务器所在地的时区。比如我们一般使用的时区Asia/Shanghai。该字段我们一般留空。
fixedDelay
每次执行任务之后间隔多久再次执行该任务。项目启动时,会立即执行任务。可以配合initialDelay一起使用,即,项目启动后延时执行任务
// 上次任务执行完后,间隔15秒再次执行
@Scheduled(fixedDelay = 1000 * 15)
public void scheduledTest(){
}
fixedDelayString
与fixedDelay意思相同。只是使用字符串的形式。唯一不同的是支持占位符
// 上次任务执行完后,间隔15秒再次执行
@Scheduled(fixedDelay = "15000")
public void scheduledTest(){
}
占位符的使用(配置文件中有配置:time.fixedDelay=5000
@Scheduled(fixedDelay = "${time.fixedDelay}")
public void scheduledTest(){
}
fixedRate
执行频率。每隔多少时间就启动任务,不管该任务是否启动完成。项目启动时,会立即执行任务。可以配合initialDelay一起使用,即,项目启动后延时执行任务
// 每隔15分钟执行一次
@Scheduled(fixedRate = 1000 * 60 * 15)
public void scheduledTest(){
}
fixedRateString
与fixedRate意思相同,只是使用字符串的形式。唯一不同的是支持占位符。
initialDelay
初次执行任务之前需要等待的时间
// 延迟5秒执行
@Scheduled(initialDelay = 5000)
public void scheduledTest(){
}
initialDelayString
与initialDelay意思相同,只是使用字符串的形式。唯一不同的是支持占位符。
@Scheduled注解用于创建定时任务,参数包括cron、zone、fixedDelay、fixedDelayString、fixedRate、fixedRateString、initialDelay和initialDelayString。cron用于设定具体的定时表达式,zone指定时区,默认为服务器时区。fixedDelay是在任务执行后等待固定时间再次执行,而fixedRate则不论任务是否结束,每隔固定时间启动。initialDelay可设置启动后延迟执行的时间。字符串形式的参数支持占位符。
9743

被折叠的 条评论
为什么被折叠?



