前言
本文说明如何使用spring boot定时任务。
计划任务的应用场景举例:
- 每5S执行一个动作;
- 服务器启动之后30S之后,每一分钟执行一个动作;
- 每个月底执行一个操作;
环境:
项目 | 说明 |
---|---|
jdk | 1.8 |
idea | 2017-03 |
操作步骤
- 新建spring boot项目
- 新建定时任务,五秒定时调用:
@Component
public class ScheduledTasks {
private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
log.info("The time is now {}", dateFormat.format(new Date()));
}
}
- 应用类上面添加注解使能
@EnableScheduling
@SpringBootApplication
@EnableScheduling
public class SchedulingApplication {
public static void main(String[] args) {
SpringApplication.run(SchedulingApplication.class, args);
}
}
- 运行看执行效果
总结
本文介绍了注解方式的计划任务,更多注解语法如下:
-
@Scheduled(fixedDelay = 5000)
定时5S调用,上一次结束之后5S -
@Scheduled(fixedRate = 5000)
定时5S调用,上一次开始之后之后5S -
@Scheduled(initialDelay=1000, fixedRate=5000)
,启动后延迟1S,间隔5S启动一次,上一次开始之后之后5S -
@Scheduled(cron="*/5 * * * * MON-FRI")
,cron表达式,表示工作日执行
更多计划任务的编写方法见:
https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#scheduling
作者:Nick
email:qiujiahongde@163.com