Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

spring boot schedule tutorial

NotificationsYou must be signed in to change notification settings

ramostear/spring-boot-schedule-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

任务调度(也可以称为定时任务)是指在特定的时间段去执行一个规定的任务过程。Spring Boot为开发者提供了一个更优雅的方式创建任务调度程序。在本章节中,我们将学习使用Spring Boot来创建任务调度程序。

任务调度分为两种类型,一种是间隔时间执行的任务,如每隔3秒执行一次任务程序;另外一种时指定具体时间的任务,如在每天的凌晨整点备份数据库。

Cron表达式

在开始讲解定时任务之前,先来看一下定时任务中的Cron表达式的相关内容。Cron表达式用于配置CronTrigger实例,它是org.quartz.Trigger的子类。Cron表达式被放置在**@Scheduled** 注释标签中,下面的代码给出了一个cron表达式的样例:

@Scheduled(cron ="0/5 * 22 * * ?")publicvoidcronJobSchedule(){SimpleDateFormatsdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");Datenow =newDate();logger.info("Java cron job expression scheduler::"+sdf.format(now));}

在cron表达式中,一共有七位表达式参数,我们将使用一张表格来了解各个参数的用途:

位数说明范围
第一位表示秒取值范围:0-59
第二位表示分钟取值范围:0-59
第三位表示小时取值范围:0-23
第四位表示日期取值范围:1-31
第五位表示月份取值范围:1-12
第六位表示星期取值范围:1-7
第七位表示年份,通常置空取值范围:1970-2099

说明,在第六位星期参数中,1表示的是星期日,除使用数字表示外,还可以使用表示星期的英文缩写来设置

了解了cron表达式的语法规则后,我们再来了解一下表达式中各种占位符的含义。cron表达式中一共可以使用的占位符有5个,如下表所示:

占位符说明示例
(星号)*可以理解为一个周期每秒、没分、每小时等
(问好)?只能出现在日期和星期两个位置中表示时间不确定
(横线)-表示一个时间范围如在小时中10-11,表示从上午10点到上午11点
(逗号),表示一个列表值如在星期中使用:1,3,5 表示星期一、星期三和星期五
(斜杠)/表示一个开始时间和间隔时间周期在分钟中使用:0/15 表示从0分开始,每15分钟运行一次

下面将列举一些示例来说明cron表达式和占位符:

表达式说明
0 0 0 * * ?每天00:00:00执行任务
0 30 10 * * ?每天上午10:30:00执行任务
0 30 10 ? * *每天上午10:30:00执行任务
0 0/15 10 * * ?每天上午10:00:00、10:15:00、10:30:00和10:45:00这四个时间点执行任务
0 0 0 ? * 1每个星期天的凌晨整点执行任务
0 0 0 ? * 1#3每个月的第三个星期天的凌晨整点执行任务

你可以访问RT社圈阅读关于Spring Boot更多的教程信息。你可以访问https://www.ramostear.com/archive/spring-boot/post/schedule.html查看原文信息。

About

spring boot schedule tutorial

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp