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