SpringBoot-基础-08-计划任务

SpringBoot-基础-08-计划任务

一、简介

Spring支持的计划任务,开发简单,执行效率比较高,但是同样在任务数量太多时会出现阻塞、崩溃、延迟等问题,适合处理一些简单的计划任务。

二、基本使用

(1)Springboot启动类:使用@EnableScheduling开启对计划任务的支持。
(2)指定执行的任务:在执行任务的方法上加上注释@Scheduled,声明这是个计划任务。

@Scheduled注解可通过参数配置任务执行规则
@Scheduled(cron=“/8”),通过cron表达式定义规则(引擎搜索cron表达式会自动生成)
@Scheduled(fixedRate = 50000),上一次任务开始执行时间点5秒再执行
@Scheduled(fixedDelay = 50000),上一次任务执行时间结束后5秒再执行
@Scheduled(inittialDelay = 1000,fixedRate = 50000),任务第一次执行时延迟一秒,之后的任务按照第二个参数的规则执行

示例:
指定任务

@Component
public class TaskService {
    @Scheduled(fixedRate = 5000)
    public void reportCurrenttime(){
        System.out.println("每隔五秒执行当前任务1");
    }
    @Scheduled(cron = "*/10 * * * * *")
    public void fixTimeExecution(){
        System.out.println(""+"每隔十秒执行一次当前任务2");
    }
}

开启任务支持,使用@ComponentScan指定扫描指定路径下的类,注入bean

@Configuration
@ComponentScan("com.example.demo.schedule")
@EnableScheduling
public class SchedulerConfig {
    public static void main(String[] args){
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SchedulerConfig.class);
    }
}

测试结果:
SpringBoot-基础-08-计划任务_第1张图片

你可能感兴趣的:(spring,boot,java,spring)