Java - ejecutar solo una vez "scheduled task" con varios tomcat ejecutando

 
Vista:

ejecutar solo una vez "scheduled task" con varios tomcat ejecutando

Publicado por Antonio (1 intervención) el 08/01/2015 13:00:41
Buenas tardes,

He creado una tarea a través de spring con la anotación scheduled:

@Scheduled(cron = "${scheduled.cron.exampleCron}")
@Async
public static void example () throws Exception{
System.out.println("Example");
}

La variable scheduled.cron.exampleCron se encuentra en un fichero de configuración y contiene una expresión cron como esta:
0 0 7 * * ? (todos los días a las 7 de la mañana)

El problema que tengo es que mi aplicación web corre en más de un tomcat y no quiero que se ejecute en todos, únicamente en uno.

Lo primero que se me ocurrió al tener la expresión cron en un fichero de configuración es cambiar esta expresión a una que no se ejecute nunca pero no lo he conseguido ya que no me deja poner años y si pongo 31 de Febrero me da error también.

¿alguna sugerencia para que no se ejecute la tarea en varios tomcats?

Gracias.

PD. no se si este es el lugar para escribir esta duda,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder