(本内容是综合网上的几篇文章的结果)
相关的注解
一共有两个,
@Scheduled–注解在定时任务方法上(有文章说方法所在的class必须是组件,Component或者Service)
@EnableScheduling–注解在Application上
@SpringBootApplication
@EnableScheduling
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
@Component
public class ScheduledTest {
@Scheduled(cron="0 0/2 * * * ?")
public void executeFileDownLoadTask() {
// 间隔2分钟,执行任务
....
}
}
定时基本参数
-fixedDelay 两次定时任务之间的间隔时间,单位毫秒
-fixedRate 通常意义上的定时间隔时间,如果本次任务的执行超过了这个时间,那么结束后就会立即执行下一次任务,单位毫秒
-initialDelay 延时设定的时间后再执行第一次任务,和上面两个参数组合使用,单位毫秒。
-cron 通过cron的方式来设置定时时间。
cron参数详解
参看第二篇引用的文章
定时效果 | 参数设置 | 备注 |
---|---|---|
每小时执行一次 | “0 0 0/1 * * ?” | 从0点开始,间隔1小时执行一次 |