这篇文章主要介绍了Spring TaskScheduler使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
TaskScheduler
示例
演示后台间断执行任务和定时计划任务
计划任务的配置
- @Configuration
- @EnableScheduling
- public class DemoConfig {
- }
计划配置任务类
- package com.wisely.task.scheduler;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- @Component
- public class DemoScheduledTask {
- private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- @Scheduled(fixedRate = 5000) //每五秒执行一次
- public void reportCurrentTime() {
- System.out.println("每隔五秒执行一次 " + dateFormat.format(new Date()));
- }
- @Scheduled(cron = "0 22 11 ? * *" ) //每天上午11点22执行
- public void fixTimeExecution(){
- System.out.println("在指定时间 " + dateFormat.format(new Date())+"执行");
- }
- }
测试
- package com.wisely.task.scheduler;
- import org.springframework.context.annotation.AnnotationConfigApplicationContext;
- public class Main {
- @SuppressWarnings({ "unused","resource" })
- public static void main(String[] args) {
- AnnotationConfigApplicationContext context =
- new AnnotationConfigApplicationContext("com.wisely.task.scheduler");
- }
- }
输出结果
- 每隔五秒执行一次 11:21:42
- 每隔五秒执行一次 11:21:47
- 每隔五秒执行一次 11:21:52
- 每隔五秒执行一次 11:21:57
- 在指定时间 11:22:00执行
- 每隔五秒执行一次 11:22:02