voglio aggiungere dinamicamente trigger per un posto di lavoro, ma non riesce a trovare alcun metodo utile al largo di pianificazioneAggiungi più trigger di lavoro quarzo singolo
io però vorrei solo essere in grado di chiamare il metodo ScheduleJob un ripetutamente, ma questo mi dà l'eccezione ObjectAlreadyExists "perché ne esiste già una con questo identificativo".
Come posso fare questo?
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;
}
}
Con Console di output
------ LoadJobs.Trigger-44
acquisizione lotto di 1 innesca
Producing istanza Job 'LoadJobs.Job-42', class = com.scheduling.LoadScheduleJob
Calling eseguire il lavoro LoadJobs.Job-42
acquisizione lotto di 1 innesca
lavoro richiedeva: 42: 44
------ LoadJobs.Trigger-45
Programmazione lavoro non riuscita per 42: 45 - 1/5 * *? * *
Ciao Jake. Ho una lista di espressioni cron come def list = ["0 0/10 * * *?", "0 0/20 * * *?", "0 0/30 * * *?"] E voglio creare trigger in un loop come String triggerName; \t int j = 0; \t per (cronExpr in elenco) \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); } e chiama il metodo execute() nel quarzo per tempi diversi con parametri diversi. Come posso avvicinarmi a questo? – elyon