1. 程式人生 > >springboot 定時任務schedule

springboot 定時任務schedule

測試版本

1.5 和 2.0.4 完全一樣

 

兩步

1. 配置類

2.job

 

1、配置類

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @Configuration @EnableScheduling public class ScheduleConfig implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.setScheduler(taskExecutor()); } @Bean(destroyMethod
="shutdown") public ExecutorService taskExecutor() { return Executors.newScheduledThreadPool(5); } }

 

2. job

package com.ly.job;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/** * 第一位,表示秒,取值0-59 * 第二位,表示分,取值0-59 * 第三位,表示小時,取值0-23 * 第四位,日期天/日,取值1-31 * 第五位,日期月份,取值1-12 * 第六位,星期,取值1-7,1表示星期天,2表示星期一 * 第七位,年份,可以留空,取值1970-2099 */ @Component public class HeartbeatJob { private static final Logger logger = LoggerFactory.getLogger(HeartbeatJob.class); /** * 檢查狀態1 */ @Scheduled(cron = "0 0 10,16 * * ?") public void checkState1() { logger.info(">>>1.5版本>> cron下午16上傳檢查開始...."); logger.info(">>>1.5版本>> cron下午16上傳檢查結束...."); } /** * 檢查狀態2 */ @Scheduled(cron = "0 0 18 * * ?") public void checkState2() { logger.info(">>>>> cron晚上18:00上傳檢查開始...."); logger.info(">>>>> cron晚上18:00上傳檢查完成...."); } /** * 檢查狀態3 5秒鐘執行一次 */ //@Scheduled(cron = "0/5 * * * * ? ") @Scheduled(cron = "0/5 * * * * ?") public void checkState3() { logger.info(">>1.5版本>>>0/5 檢查開始...."); } }