定时任务

HeJin小于 1 分钟Spring全家桶SpringBoot精讲细讲

开启定时任务

@EnableScheduling
@SpringBootApplication
public class Springboot01Application {

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

}

定时任务编写

@Component
public class MySchedule {

    @Scheduled(fixedDelay = 3000)
    public void fixedDelay(){
        System.out.println("fixedDelay:" + new Date());
    }

    @Scheduled(fixedRate = 3000)
    public void fixedRate(){
        System.out.println("fixedRate:" + new Date());
    }

    @Scheduled(initialDelay = 1000,fixedDelay = 2000)
    public void initialDelay(){
        System.out.println("initialDelay:" + new Date());
    }

    @Scheduled(cron = "0 * * * * ?")
    public void cron(){
        System.out.println("cron:" + new Date());
    }

}
  • fixedDelay 表示任务执行之间的时间间隔,具体是指本次任务结束到下次任务开始之间的时间间隔。
  • fixedRate 表示任务执行之间的时间间隔,具体是指两次任务的开始时间间隔,即第二次任务开始时,第一次任务可能还没结束。
  • initialDelay 表示首次任务启动的延迟时间。
  • cron 表达式,可以非常丰富的描述定时任务的时间。cron 表达式格式如下:[秒] [分] [小时] [日] [月] [周] [年]

quartz框架