Spring的定时任务的相关支持是存放在Spring-context.jar中的,默认是关闭状态,使用的话记得开启。
开启定时任务
使用注解@EnableScheduling 即可开启
各方式说明
这里我们使用@Scheduled的方式进行讲解。默认提供了fixedDelay,fixedRate,cron
参阅源代码:
public @interface Scheduled {
String cron() default "";
long fixedDelay() default -1L;
String fixedDelayString() default "";
long fixedRate() default -1L;
String fixedRateString() default "";
long initialDelay() default -1L;
String initialDelayString() default "";
}
fixedDelay
固定延迟,在延迟一段时间后执行定时任务,并不是从定时任务加载后立刻执行。
示例
以下任务是在五秒后开始执行定时任务,并且每五秒执行一次。默认单位是毫秒(后续不在说明,基本都是毫秒)
@Scheduled(fixedDelay=5000)
public void doSomething() {
// something that should execute periodically
}
fixedRate
<固定速率执行定时任务,从启动就开始执行,即启动的时候会立刻执行一次。也可以通过参数(initialDelay )进行调整