问题描述: quartz 2.x 后新建jobdetail方法发生了变化;
之前老版本直接使用new方法创建JobDetail实例和cronTrigger实例:
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
JobDetail jobDetail = new JobDetail("helloWorldJob",
Scheduler.DEFAULT_GROUP, HelloJob.class);
Map map = jobDetail.getJobDataMap();
map.put("message", " message");
map.put("jobDetailMessage", " jobDetailMessage");
map.put("triggerMessage", " triggerMessage");
String cronExpression = "3/5 * * * * ?";
//String cronExpression = "3/5 * 20,21,22,23 * * ?";
Trigger tringer = new CronTrigger("cronTrigger",Scheduler.DEFAULT_GROUP, cronExpression);
scheduler.scheduleJob(jobDetail, tringer);
现在这种方法会被标记为depression,新方法采用工厂模式统一管理:
public static void addJob() throws Exception
{
String cronExpression=PropertiesUtil.readValue("scheduler.download.quartz");
JobDetail jobDetail = JobBuilder.newJob(DownLoadJob.class).build();
CronTrigger trigger = TriggerBuilder.newTrigger().withSchedule(CronScheduleBuilder.cronSchedule(cronExpression)).build();
sched = new org.quartz.impl.StdSchedulerFactory().getScheduler();
sched.scheduleJob(jobDetail,trigger);
sched.start();
}