Solución:
Necesita escribir su trabajo como una implementación de InterruptableJob. Para interrumpir este trabajo, debe manejar al Programador y llamar interrupt(jobKey<<job name & job group>>)
Por favor, eche un vistazo a @ javadoc para las clases anteriores, también la distribución de cuarzo contiene un ejemplo para esto (ejemplo7).
En Quartz 2.1 con Spring puedes:
@Autowired
private Scheduler schedulerFactoryBean; //injected by spring
...
...
List<JobExecutionContext> currentlyExecuting = schedulerFactoryBean.getCurrentlyExecutingJobs();
//verifying if job is running
for (JobExecutionContext jobExecutionContext : currentlyExecuting) {
if(jobExecutionContext.getJobDetail().getKey().getName().equals("JobKeyNameToInterrupt")){
result = schedulerFactoryBean.interrupt(jobExecutionContext.getJobDetail().getKey());
}
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)