将多个触发器添加到单个石英作业
|
我想动态地将触发器添加到作业,但找不到Scheduler之外的任何有用方法
我虽然可以重复调用scheduleJob方法,但这给了我ObjectAlreadyExists异常\“,因为该标识已经存在\”。
我怎样才能做到这一点?
编辑
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
在作业JobJobs.Job-42上调用执行
批量获取1个触发器
需要的职位:42:44
------ LoadJobs.Trigger-45
42的作业调度失败:45-1/5 * *? * *
没有找到相关结果
已邀请:
3 个回复
填盖
肉脓措伪
缮淳彼誊