| | |
| | | package com.yeshi.fanli.job;
|
| | |
|
| | | import java.util.Iterator;
|
| | | import java.util.Map;
|
| | |
|
| | | import org.quartz.CronScheduleBuilder;
|
| | | import org.quartz.CronTrigger;
|
| | | import org.quartz.Job;
|
| | | import org.quartz.JobBuilder;
|
| | | import org.quartz.JobDetail;
|
| | | import org.quartz.JobKey;
|
| | |
| | | * @param params
|
| | | * @param cls
|
| | | */
|
| | | public static void addJob(Scheduler sched, @SuppressWarnings("rawtypes") Class cls, String jobName, |
| | | String time, Map<String, String> params) {
|
| | | public static void addJob(Scheduler sched, Class <? extends Job> jobClass, String jobName, |
| | | String time, Object obj) {
|
| | | try {
|
| | |
|
| | | TriggerKey triggerKey = TriggerKey.triggerKey(jobName, TRIGGER_GROUP_NAME);
|
| | |
| | |
|
| | | if (trigger == null) {
|
| | | LogHelper.test("------addJob---任务创建-----" + jobName + "------- ");
|
| | | JobDetail jobDetail = JobBuilder.newJob(cls).withIdentity(jobName, JOB_GROUP_NAME).build();
|
| | | if (params != null) {
|
| | | Iterator<String> its = params.keySet().iterator();
|
| | | while (its.hasNext()) {
|
| | | String key = its.next();
|
| | | jobDetail.getJobDataMap().put(key, params.get(key));
|
| | | }
|
| | | JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(jobName, JOB_GROUP_NAME).build();
|
| | | if (obj != null) {
|
| | | jobDetail.getJobDataMap().put("key", obj);
|
| | | }
|
| | | CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(time);
|
| | | trigger = TriggerBuilder.newTrigger().withIdentity(jobName, TRIGGER_GROUP_NAME)
|
| | |
| | | * @param params
|
| | | * @param cls
|
| | | */
|
| | | @SuppressWarnings("rawtypes")
|
| | | public static void modifyJob(Scheduler sched, Class cls, String jobName, |
| | | String time, Map<String, String> params ) {
|
| | |
|
| | | public static void modifyJob(Scheduler sched, Class <? extends Job> jobClass, String jobName, |
| | | String time, Object obj) {
|
| | | try {
|
| | |
|
| | | LogHelper.test("------modifyJob---任务修改-----" + jobName + "------- ");
|
| | |
|
| | | TriggerKey triggerKey = TriggerKey.triggerKey(jobName, TRIGGER_GROUP_NAME);
|
| | | CronTrigger trigger = (CronTrigger) sched.getTrigger(triggerKey);
|
| | |
|
| | | if (trigger == null) {
|
| | | if (trigger == null)
|
| | | return;
|
| | | }
|
| | |
|
| | | // 删除原任务
|
| | | removeJob(sched, jobName);
|
| | |
|
| | | // 新建任务
|
| | | addJob(sched, QualityFactoryJob.class, jobName, time, params);
|
| | |
|
| | | addJob(sched, jobClass, jobName, time, obj);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | throw new RuntimeException(e);
|