protégé
scheduleJob vide (aJob final de SchedulerJob)
{
// créent un contexte du travail (Quartz-Objet).
jobDataMap final de JobDataMap = nouveau JobDataMap () ;
jobDataMap.put (« données », aJob) ;
jobDataMap.put (« ressort-contexte », ctx) ;
jobDataMap.put (« travail-executer-service », jobEcecuterService) ;
// créent un détail d'exécution d'une tâche (Quartz-Objet).
jobDetail final de JobDetail = nouveau JobDetail (aJob.getId (),
nulle, DefaultSchedulerExecuter.class) ;
jobDetail.setJobDataMap (jobDataMap) ;
// ajoutent la JOD-définition au programmateur.
essai {
schedulerFactory.addJob (le jobDetail, rectifient) ;
// créent un déclenchement de quartz pour démarrer le JOB.
déclenchement final de CronTrigger = nouveau CronTrigger () ;
// a placé le nom à l'identification
trigger.setName (aJob.getId ());
trigger.setJobName (aJob.getId ());
Début de // maintenant.
trigger.setStartTime (Calendar.getInstance () .getTime ());
Programme de // comme spécifique dans l'expression de cron.
trigger.setCronExpression (aJob.getCronExpression ());
si (log.isInfoEnabled ()) {
log.info (" [PROGRAMMATEUR] - le travail de Scheduling : » +
aJob.getId () + « avec l'executer » +
jobDetail.getJobClass () .getCanonicalName ());
}
Programme de // le nouveau travail.
schedulerFactory.scheduleJob (déclenchement) ;
} crochet (exception finale e) {
si (log.isDebugEnabled ()) {
log.info (« le travail de Scheduling d'erreur » + aJob.getName () + « . Le travail mis hors tension. », e) ;
}
// mettent le travail, ainsi il n'est pas commencé automatiquement encore.
aJob.setEnabled (faux) ;
// sauvent le travail modifié.
essai {
updateJob (aJob) ;
} crochet (exception finale ex) {
jet nouveau RuntimeException (ex) ;
}
}
}
protégé
unscheduleJob vide (aJobId final de corde)
{
essai {
si (schedulerFactory.getJobDetail (
aJobId, « DÉFAUT ») ! = nulle) {
si (log.isInfoEnabled ()) {
log.info (" [PROGRAMMATEUR] - le travail d'Unscheduling : » +
aJobId) ;
}
schedulerFactory.deleteJob (aJobId, « DÉFAUT ») ;
}
} crochet (SchedulerException final e) {
jet nouveau RuntimeException (
« Le travail unscheduling d'erreur avec l'identification » + aJobId, e) ;
}
}
|