Buscando "Quartz Hibernate" devolvió esto. Viniendo a una solución diferente (y usando Tapestry), pensé que lo compartiría.
la hora de programar el trabajo:
…
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDataMap myJobDataMap = new JobDataMap();
myJobDataMap.put("HibernateSessionManager", hibernateSessionManager);
myJobDataMap.put("PerthreadManager", perThreadManager);
JobDetail job = JobBuilder.newJob(SomeJob.class).withIdentity(
"SomeJob", "someGroup").setJobData(
myJobDataMap).build();
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(
"Some Trigger", "someGroup").startNow().withSchedule(
SimpleScheduleBuilder.repeatSecondlyForever(30)).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
…
y en el empleo
public void execute(JobExecutionContext context)
throws JobExecutionException
{
JobDataMap jdm = context.getMergedJobDataMap();
HibernateSessionManager hibernateSessionManager = (HibernateSessionManager) jdm.get("HibernateSessionManager");
PerthreadManager perThreadManager = (PerthreadManager) jdm.get("PerthreadManager");
Session session = hibernateSessionManager.getSession();
//do stuff with session …
//now clean up, otherwise I ended up with <IDLE> in transactions
perThreadManager.cleanUp();
}
espero que alguien puede usar esto.
Se supone que mi clase de trabajo de cuarzo debe enviar FTP a algunos servidores remotos y cargarles una colección grande (millones) de archivos XML. ¿Es este el método correcto a seguir para este escenario? – Joe
Mi código produce muchos errores al ejecutar la hibernación de un trabajo de cuarzo. Si lo ejecuto desde fuera del cuarzo, funciona correctamente y hago todas las operaciones DB. Lo que necesito cambiar para que funcione con cuarzo. – Joe
¿Qué tipo de errores? –