CronSchedule
Job类
package cn.quartz;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
* Hello world!
*
*/
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("我正在执行");
}
}
测试类
public class Test {
public static void main(String[] args) throws SchedulerException {
//创建Job 中内部 通过反射来获得 所以这里要传入一个Myjob的Class的对象
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withDescription("工作描述")
.withIdentity("工作名称","工作的组")
.build();
/*
*Cron触发器
*/
//这里传入Cron表达式
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("*/2 * * ? * *");
Trigger trigger = TriggerBuilder.newTrigger()
.withDescription("触发器描述")
.withIdentity("触发器名称","工作的组")
.withSchedule(cronScheduleBuilder)
.startAt(new Date())
.build();
//创建调度器,粘合工作和触发器
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.scheduleJob(jobDetail,trigger);
scheduler.start();
}
}
注意这个锅,不能同时设定星期和月份,所以我们要吧星期设为 ? 这个占位符
这里们详细解释一下Cron表达式一些使用方法