配置类
EnableScheduling注解也可以配置在app启动类那里
@Configuration
@EnableScheduling
public class QuartzConfig {
@Bean
public JobDetail uploadTaskDetail() {
return JobBuilder.newJob(TaskJob.class).withIdentity("TaskJob").storeDurably().build();
}
@Bean
public Trigger uploadTaskTrigger() {
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0 */1 * * * ?");
return TriggerBuilder.newTrigger().forJob(uploadTaskDetail())
.withIdentity("TaskJob")
.withSchedule(scheduleBuilder)
.build();
}
}
定时器类
@Component
public class TaskJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
log.info("【定时任务执行时间{}】",DateUtils.format(new Date(), DateUtils.DATE_14));
}
}
cron时间规则
详解链接:https://www.cnblogs.com/javahr/p/8318728.html
示例:
“0 0 12 * * ?” 每天中午十二点触发
“0 15 0 ? * *” 每天凌晨00:15触发
“0 15 0 * * ?” 每天早上10:15触发
“0 15 0 * * ? *” 每天早上10:15触发
“0 15 0 * * ? 2005” 2005年的每天早上10:15触发
“0 * 14 * * ?” 每天从下午2点开始到2点59分每分钟一次触发
“0 0/5 14 * * ?” 每天从下午2点开始到2:55分结束每5分钟一次触发
“0 0/5 14,18 * * ?” 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
“0 0-5 14 * * ?” 每天14:00至14:05每分钟一次触发
“0 10,44 14 ? 3 WED” 三月的每周三的14:10和14:44触发
“0 15 10 ? * MON-FRI” 每个周一、周二、周三、周四、周五的10:15触发