Теперь у меня есть следующее заявление:
@Scheduled(cron = "0 0 12 ? * MON#1")
protected synchronized void execute() {...}
и это не работает:
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.5.9.RELEASE.jar:1.5.9.RELEASE]
Caused by: java.lang.IllegalStateException: Encountered invalid @Scheduled method 'execute': For input string: "2#1"
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.processScheduled(ScheduledAnnotationBeanPostProcessor.java:461) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.postProcessAfterInitialization(ScheduledAnnotationBeanPostProcessor.java:331) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:423) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1633) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
... 19 common frames omitted
Пожалуйста, помогите заставить его работать




Шаблон представляет собой список из шести полей, разделенных одним пробелом: представляющий
второй,
минута,
час,
день,
месяц,
будний день.
Названия месяца и дня недели могут быть даны как первые три буквы английских названий.
Итак, понедельник в первые 7 дней месяца должен дать вам то, что вам нужно.
«0 0 12 1-7 * ПН»
@gstackoverflow День месяца 1-7 означает, что должны быть первые 7 дней месяца для увольнения. и в первые 7 дней месяца может быть только один понедельник
хм, действительно имеет смысл
выражение неверно используйте @Scheduled (cron = "0 0 0? * 2 # 1 *")
См. Ниже для получения дополнительной информации об этом
https://stackoverflow.com/a/26147143/3724760
Проверю и расскажу
Это может сработать для вас
* 6 * 12/1 1
Описание смотрите здесь
Он будет стрелять каждый понедельник! Я хочу запустить его только на первом