定时任务在Spring Boot中的集成
在启动类中加入开启定时任务的注解:
在SpringBoot中使用定时任务相当的简单。首先,我们在启动类中加入@EnableScheduling来开启定时任务。
方法要求:
公共,无参 , 无返回值
@Component
@EnableScheduling
public class RunTask {
@Scheduled(fixedRate = 5000)
public void runFixedRate() {
System.err.println("嘻嘻-哈哈-么么哒 :fixedRate" + new SimpleDateFormat("HH:mm:ss").format(new Date()));
}
@Scheduled(fixedDelay = 5000)
public void runFixedDelay() {
System.err.println("嘻嘻-哈哈-么么哒 :fixedDelay" + new SimpleDateFormat("HH:mm:ss").format(new Date()));
}
@Scheduled(initialDelay = 5000,fixedRate = 5000)
public void runInitialDelay() {
System.err.println("嘻嘻-哈哈-么么哒 :initialDelay" + new SimpleDateFormat("HH:mm:ss").format(new Date()));
}
}
fixedRate:
上一次 启动时间点之后 X秒执行一次
任务两次执行时间间隔是任务的开始点。
fixedDelay:
上一次 结束时间点之后 每X秒执行一次
前次任务的结束与下次任务的开始。
initialDelay:
第一次延迟 X秒执行,之后按照 fixedRate 的规则每X秒执行
cron表达式可以定制化执行任务,但是执行的方式是与fixedDelay相近的,也是会按照上一次方法结束时间开始算起。
timer
cron在线生成器 :http://cron.qqe2.com/