scheduled mvc minutes expressions examples example every java spring spring-mvc cron spring-scheduled

java - mvc - spring boot scheduled cron example



Spring @ AnotaciĆ³n programada (1)

¿Cómo puedo usar @Scheduled annotation of spring dinámicamente?

CronTrigger(String expression, TimeZone timeZone)

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronTrigger.html#CronTrigger-java.lang.String-java.util.TimeZone-

Como tengo varias zonas horarias en la base de datos, ¿cómo puedo pasarlas dinámicamente?

Intenté esto en mi código:

TimeZone timezone = null; String timezone1 = null; public SchedulerBean(String timezone2) { this.timezone1 = timezone2; //constructor } @Scheduled(cron="0 0 8 * * ?", zone =timezone.getTimeZone(timezone1) ) //Error at this line public void sendQuestionNotif() { //......code }

Aquí está el error que estoy recibiendo

*Type mismatch: cannot convert from TimeZone to String*

Por favor, ayúdame. Porque quiero activar cron en función de las zonas horarias . TIA.


Los parámetros de anotación no pueden establecerse dinámicamente. Puedes hacerlo programáticamente, así

class Scheduler implements Runnable { public Scheduler(TaskScheduler scheduler, String timezone, String cron) { scheduler.schedule(this, new CronTrigger(cron, TimeZone.getTimeZone(timezone))); } @Override public void run() { // } }