protettivo
scheduleJob vuoto (aJob finale di SchedulerJob)
{
// genera un contesto di lavoro (Quarzo-Oggetto).
jobDataMap finale di JobDataMap = nuovo JobDataMap ();
jobDataMap.put (“dati„, aJob);
jobDataMap.put (“molla-contesto„, ctx);
jobDataMap.put (“lavoro-executer-servizio„, jobEcecuterService);
// genera un particolare di esecuzione di lavoro (Quarzo-Oggetto).
jobDetail finale di JobDetail = nuovo JobDetail (aJob.getId (),
posizione di segnale minimo, DefaultSchedulerExecuter.class);
jobDetail.setJobDataMap (jobDataMap);
// aggiunge la JOD-definizione al programmatore.
prova {
schedulerFactory.addJob (jobDetail, allinea);
// genera un innesco del quarzo per iniziare il lavoro.
innesco finale di CronTrigger = nuovo CronTrigger ();
// ha fissato il nome all'identificazione
trigger.setName (aJob.getId ());
trigger.setJobName (aJob.getId ());
Inizio di // ora.
trigger.setStartTime (Calendar.getInstance () .getTime ());
Programma di // come specificato nell'espressione del cron.
trigger.setCronExpression (aJob.getCronExpression ());
se (log.isInfoEnabled ()) {
log.info (" [PROGRAMMATORE] - lavoro di Scheduling: „ +
aJob.getId () + “con executer„ +
jobDetail.getJobClass () .getCanonicalName ());
}
Programma di // il nuovo lavoro.
schedulerFactory.scheduleJob (innesco);
} fermo (eccezione finale e) {
se (log.isDebugEnabled ()) {
log.info (“lavoro di Scheduling di errore„ + aJob.getName () + “. Lavoro disattivato. „, e);
}
// disattiva il lavoro, in modo da non è iniziato automaticamente ancora.
aJob.setEnabled (falso);
// conserva il lavoro modificato.
prova {
updateJob (aJob);
} fermo (eccezione finale ex) {
tiro nuovo RuntimeException (ex);
}
}
}
protettivo
unscheduleJob vuoto (aJobId finale della stringa)
{
prova {
se (schedulerFactory.getJobDetail (
aJobId, “DIFETTO„)! = posizione di segnale minimo) {
se (log.isInfoEnabled ()) {
log.info (" [PROGRAMMATORE] - lavoro di Unscheduling: „ +
aJobId);
}
schedulerFactory.deleteJob (aJobId, “DIFETTO„);
}
} fermo (SchedulerException finale e) {
tiro nuovo RuntimeException (
“Lavoro unscheduling di errore con l'identificazione„ + aJobId, e);
}
}
|