Quiero añadir dinámicamente disparadores para un trabajo, pero no se encuentra ninguna métodos votos fuera del Programadorañadir varios disparadores de trabajo de cuarzo sola
I aunque sólo sería capaz de llamar al método ScheduleJob una forma repetitiva, pero esto me da la Excepción de ObjectAlreadyExists "porque uno ya existe con esta identificación".
¿Cómo puedo hacer esto?
EDITAR
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;
}
}
Con Salida de consola
------ LoadJobs.Trigger-44
adquisición lote de 1 desencadena
Producir instancia de Trabajo 'LoadJobs.Job-42', class = com.scheduling.LoadScheduleJob
Calling ejecutar el trabajo LoadJobs.Job-42
adquisición de lote de 1 desencadena
Trabajo pidió: 42: 44
------ LoadJobs.Trigger-45
¿Error al programar el trabajo para 42: 45 - 1/5 * *? * *
Hola Jake. Tengo una lista de expresiones cron como def list = ["0 0/10 * * *?", "0 0/20 * * *?", "0 0/30 * * *?"] Y quiero crear desencadenantes en un bucle como String triggerName; \t int j = 0; \t para (cronExpr en la lista) \t { \t j ++; \t \t \t triggerName = "disparador" + 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); } y el método call execute() en cuarzo para diferentes tiempos con diferentes parámetros. ¿Cómo me acerco a esto? – elyon