Cron 表达式
0 0/5 * * * ? : every 5 minutes
10 0/5 * * * ? : every 5 minutes, at 10 seconds after the minute (i.e. 10:00:10 am, 10:05:10 am, etc.)
0 30 10-13 ? * WED,FRI : at 10:30, 11:30, 12:30, and 13:30, on every Wednesday and Friday.
0 0/30 8-9 5,20 * ? every half hour between the hours of 8 am and 10 am on the 5th and 20th of every month. Note that the trigger will NOT fire at 10:00 am, just at 8:00, 8:30, 9:00 and 9:30
public static void main(String[] args) {
try {
// 创建定时器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 启动定时器
scheduler.start();
//定义一个Job
JobDetail job = newJob(HelloJob.class)
.withIdentity("myJob", "FirstGroup") //创建工作组
.build();
// JobDetail job = newJob(HelloJob.class)
// .withIdentity("myJob") //创建工作组
// .build();
// JobDetail job = newJob(DumbJob.class)
// .withIdentity("myJob", "FirstGroup") // name "myJob", group "group1"
// .usingJobData("jobSays", "Hello World!")
// .usingJobData("myFloatValue", 3.141f)
// .build();
CronTrigger trigger = newTrigger()
.withIdentity("myTrigger", "FirstGroup")
.withSchedule(cronSchedule("0 0/2 8-17 * * ?")) //8:00 - 17:00
.forJob("myJob", "FirstGroup")
.build();
//用trigger告诉quartz安排job
scheduler.scheduleJob(job, trigger);
// 如果不关闭定时器,不会自动终止
//scheduler.shutdown();
} catch (SchedulerException se) {
se.printStackTrace();
}
}