tôi muốn tự động thêm trigger để một công việc, nhưng không thể tìm thấy bất kỳ phương pháp hữu ích tắt của SchedulerThêm nhiều trigger để công việc thạch anh đơn
tôi mặc dù tôi sẽ chỉ có thể gọi phương thức scheduleJob một lặp đi lặp lại, nhưng điều này mang lại cho tôi ngoại lệ ObjectAlreadyExists "vì đã tồn tại với nhận dạng này".
Tôi làm cách nào để thực hiện việc này?
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;
}
}
với Console Output
------ LoadJobs.Trigger-44
mua lại hàng loạt trong tổng số 1 gây nên
Sản xuất thể hiện của Công việc 'LoadJobs.Job-42', class = com.scheduling.LoadScheduleJob
Gọi thực thi trên công việc LoadJobs.Job-42
mua lại hàng loạt trong tổng số 1 gây nên
việc kêu gọi: 42: 44
------ LoadJobs.Trigger-45
Lập lịch công việc không thành công trong 42: 45 - 1/5 * *? * *
Xin chào Jake.I có một danh sách các biểu thức cron như def list = ["0 0/10 * * *?", "0 0/20 * * *?", "0 0/30 * * *?"] Và tôi muốn tạo ra các trigger trong một vòng lặp như String triggerName; \t int j = 0; \t cho (cronExpr trong danh sách) \t { \t j ++; \t \t \t triggerName = "trigger" + Integer.toString (j) \t \t \t triggerName = new 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); } và gọi phương thức execute() trong thạch anh cho thời gian khác nhau với các tham số khác nhau. Làm thế nào để tôi tiếp cận điều này? – elyon