Quartz是一个纯 Java 实现的作业调度工具,其中Spring也整合了 Quartz.
关于Quartz动态的添加任务:
1.配置Scheduler :
获得默认的Scheduler实例
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
为MyJob.class创建一个JobDetail
JobDetail job= new JobDetail("jobname1", Scheduler.DEFAULT_GROUP, MyJob.class);
创建一个CronTrigger触发器为每5分钟执行一次
CronTrigger trigger = new CronTrigger("Triggername1", Scheduler.DEFAULT_GROUP, "0 0/5 * * * ?");
它把 job和trigger 同 Scheduler 进行关联
scheduler.scheduleJob(job, trigger);
启动Scheduler
scheduler.start();
停止Scheduler
scheduler.shutdown()
2.动态的任务
调用scheduler.pauseAll()暂停所有任务
然后如1中所示可添加新的任务或调用scheduler.deleteJob(String jobName, String groupName)删除制定job名称的任务
最后调用scheduler.resumeAll()恢复所有任务
则现有与scheduler关联所有任务就可以重新开始执行了。