SpringBoot学习笔记:计划任务

SpringBoot学习笔记:计划任务

计划任务

  在企业的实践生产中,可能需要使用一些定时任务,如月末、季末和年末需要统计各种各样的报表,每周自动备份数据等。

 

在Spring中使用定时任务

1、加入@EnableScheduling注解,以启用定时任务机制

@EnableScheduling
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

 

2、通过注解@Schedule配置如何定时

@Component
public class ScheduledTasks {

    /**
     * 每个一秒输出Hello,World
     */
    @Scheduled(fixedRate = 1000)
    public void sayHello(){
        System.out.println("Hello");
    }
}

  其中fixedRate表示间隔时间,其中也可以填写cron表达式,来支持更广泛的时间表示

 

Cron表达式

   

  其中年可以省略,例如:0 0 0 ? * WED,表示每周三零点执行任务。

关于通配符:

 上述表达式中,?表示不指定值,* 表示任意值,此处为任意月。?的作用是处理与星期的冲突,例如:天指定了21号,但是星期指定了每周三,这样就会出现冲突。 

更多例子

 

原文地址:https://www.cnblogs.com/MrSaver/p/9266032.html