//获取调度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//创建触发器
Trigger trigger = TriggerBuilder.newTrigger().withSchedule(
CronScheduleBuilder.cronSchedule("放置cron表达式处");
).withIdentity("name", "group1").startNow().build();
JobDetail jobDetail = JobBuilder.newJob(TestJob.class).withIdentity("job1", "group1").usingJobData("name", "张三").build();
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
System.in.read();
cron表达式有7位,其中第七位即最后一位为可选(六位的表达式必然是少了年份)
顺序为:秒 分钟 小时 ⽇期 ⽉份 星期 年份
其中日期与星期互相影响,不能同时出现:未选择使用的字段应使用’?'占位符
- “*”:对应时间域的每⼀个时刻
- “-”:表达一个范围
- “,”:表达⼀个列表值 eg:“1,3,4”
- “/”:表达⼀个自增列表
----x/y,x为起始值,y为增量步⻓值。----1/5表达:1,6,11,16,21,26,31… - L:该字符只在⽇期和星期字段中使⽤。在⽇期字段中,表⽰这个⽉ 份的最后⼀天;在星期中,表⽰星期六,等同于7
如果L出现在星期字段⾥,而且在前⾯有⼀个数值X,则表⽰“这个⽉的最后X天”。eg:6L表⽰该⽉的最后星期五 - W:该字符只能出现在⽇期字段⾥,是对前导⽇期的修饰,表⽰离该⽇期最近的⼯作⽇。注意关联的匹配⽇期不能够跨⽉
- LW组合:当⽉的最后⼀个⼯作⽇
- “#”:星期字段中使⽤,表⽰当⽉某个⼯作⽇。eg:6#3表⽰当⽉的第三个星期五(6表⽰星期五,#3表⽰当前的第三个)。#5时如不存在则忽略不触发