依赖:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
时间格式:
[秒] [分] [时] [日] [月] [周] [年]
- '*'字符表示指定字段的所有可能值
- ‘?’ 字符可以在day-of-month和day-of-week 字段中使用,用来表示没有指定值
- 'L’字符可以在day-of-month和day-of-week 字段中使用,这个字符表示最后一个的意思
- '#'字符用来表示这个月的第几个XXX,比如day-of-week字段的"6#3"表示这个月的第三个星期五
- ‘/’ 字符可以用来指定增量,比如如果指定Minute字段为"0/15"表示在第0分钟启动,每隔15分钟的间隔;"3/20"表示每三分钟启动,每隔20分钟的间隔
测试类:
@Component
@Configurable
@EnableScheduling
public class QuartzTest {
@Scheduled(cron = "*/5 * * * * * ")
public void doTask(){
SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd '/' HH:mm:ss z");
Date date = new Date(System.currentTimeMillis());
System.out.println("------> EXECUTE AT : " + date.toString());
}
}
说明:@Component
声明属于组件,@Configurable
用于被SpringBoot扫描并初始化,@EnableScheduling
声明该类属于计划任务。@Scheduled
:声明要执行的任务。括号内输入参数。
执行结果: