我想觸發動態添加到作業,但無法找到任何有用的方法關閉調度添加多個觸發器來一個水晶工作
的我,雖然我也只是能夠調用scheduleJob方法的反覆,但是這給了我ObjectAlreadyExists異常「,因爲已經存在這個標識」。
我該怎麼做?
EDIT
private boolean scheduleLoadJob(XfuScheduleTimeInfo time)
{
LoadScheduleJob job = new LoadScheduleJob(time);
JobDetail detail;
Integer id = Integer.valueOf(time.getScheduleId());
if(_hashMap.containsKey(id))
{
detail = _hashMap.get(Integer.valueOf(time.getScheduleId()));
}
else
{
detail = job.getDetail();
_hashMap.put(id, detail);
}
try
{
Trigger newTrigger = job.getTrigger();
_log.debug("------" + newTrigger.getKey());
_quartzScheduler.scheduleJob(detail, newTrigger);
return true;
}
catch(ParseException e)
{
_log.error("Unable to parse cron expression for " + job.getInfo());
return false;
}
catch(SchedulerException e)
{
_log.error("Job scheduling failed for " + job.getInfo());
return false;
}
}
隨着控制檯輸出
------ LoadJobs.Trigger-44
批次採集的1觸發
生產的實例Job'LoadJobs.Job-42',class = com.scheduling.LoadScheduleJob
調用執行對工作LoadJobs.Job-42
批次採集的1觸發
工作要求:42:44
------ LoadJobs.Trigger-45
42:45 - 1/5 * *的作業調度失敗? * *
Hi Jake.I有一個cron表達式列表,如def list = [「0 0/10 * * *?」,「0 0/20 * * *?」,「0 0/30 * * *?」]和我想創建一個像字符串triggerName循環中的觸發器; \t int j = 0; \t for(cronExpr in list) \t { \t j ++; \t \t \t triggerName = 「觸發」 + Integer.toString(J) \t \t \t triggerName =新CronTrigger(); \t \t \t triggerName。的setName(triggerName); \t \t \t triggerName.setGroup(job.getGroup()); \t \t \t triggerName.setJobName(job.getName()); \t \t \t triggerName.setCronExpression(cronExpr); },並調用石英不同的時間與不同的參數執行()方法。我該怎麼辦? – elyon 2015-01-07 19:29:45