quartz-scheduler - tutorial - quartz scheduler documentation
Programador de cuarzo en entorno cluster. (1)
estoy usando
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
scheduler = schedulerFactory.getScheduler();
scheduler.start();
Trigger asapTrigger = getAsapTrigger();
JobDetail asapJob = getAsapJobDetails();
scheduler.scheduleJob(asapJob, asapTrigger);
Esto está funcionando pero cuando voy al entorno de clúster, se ejecutan 2 subprocesos para el mismo trabajo.
Estoy usando anotaciones no propiedades de archivos. Quiero correr solo un hilo. Alguien puede ayudar en esto. ¿Cómo configurar?
Mi código casi parece: http://k2java.blogspot.com/2011/04/quartz.html
Tienes que configurar Quartz para ejecutarse en un entorno agrupado. La agrupación en clúster actualmente solo funciona con el almacén de trabajos JDBC y funciona al hacer que cada nodo del clúster comparta la misma base de datos.
- Establezca la propiedad org.quartz.jobStore.isClustered en true si tiene varias instancias de Quartz que usan el mismo conjunto de tablas de base de datos. Esta propiedad se utiliza para activar las características de agrupación en clústeres.
- Establezca la propiedad org.quartz.jobStore.clusterCheckinInterval (milisegundos) que es la frecuencia con la que esta instancia se registra con las otras instancias del clúster.
- Establezca org.quartz.scheduler.instanceId en AUTO para que cada nodo del clúster tenga un ID de instancia único.
Tenga en cuenta que cada instancia del clúster debe usar la misma copia del archivo quartz.properties. Además, si utiliza clústeres en máquinas separadas, asegúrese de que sus relojes estén sincronizados.
Para obtener más información, consulte la documentación oficial que contiene un archivo de propiedades de muestra para un programador agrupado.