1. 問題描述
Java項目定時任務是必備模塊,月高風黑夜跑個批處理,記錄或者統計一些系統信息。
2. 解決方案:
結合springboot,只需三個標簽就能完成定時任務配置。
2.1 標簽1
用在springboot的啟動類上,@EnableScheduling標簽。
@EnableScheduling
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
2.2 標簽2和3
2.2.1 具體代碼
@Configuration
public class BatchJobService {
@Scheduled(cron = "0 10 0 * * ? ") ////月高風黑夜的12點10分執行
public void demoService() {
System.out.println(demo);
}
2.2.2 代碼解析
示例代碼刪除了不必要的真實代碼,用了最簡答的代碼,盡量把問題說清楚。
標簽2,@Configuration用在定時類上;
標簽3,@Scheduled用在定時方法上;
定時正則說明:
示例中:cron = "0 10 0 * * ? " ,表示:12點10分執行
-
第一位,表示秒,取值0-59 *
-
第二位,表示分,取值0-59 *
-
第三位,表示小時,取值0-23 *
-
第四位,日期天/日,取值1-31 *
-
第五位,日期月份,取值1-12 *
-
第六位,星期,取值1-7,星期一,星期二...,注:不是第1周,第二周的意思另外:1表示星期天,2表示星期一。
-
第7為,年份,可以留空,取值1970-2099