Я пытаюсь, чтобы мой код выполнялся по фиксированному расписанию на основе выражения cron Spring. Я хотел бы, чтобы код выполнялся каждый день в 1: 01: утра. Я попробовал следующее выражение, но это не сработало для меня. Что не так с синтаксисом здесь?
@Scheduled(cron = "0 1 1 ? * *")
public void resetCache() {
// ...
}
Ответы:
Попробуйте с:
Ниже вы можете найти примеры шаблонов с весеннего форума:
Выражение Cron представлено шестью полями:
(*)
значит соответствует любому*/X
означает «каждый икс»?
(«без определенного значения») - полезно, когда вам нужно указать что-то в одном из двух полей, в которых разрешен символ, но не в другом. Например, если я хочу, чтобы мой триггер срабатывал в определенный день месяца (скажем, 10-го числа), но мне все равно, какой это день недели, я бы поставил «10» в день- поля месяца и "?" в поле дня недели.PS: Чтобы заставить его работать, не забудьте включить его в контексте вашего приложения: https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/scheduling.html#scheduling- аннотация-поддержка
источник
Для моего планировщика я использую его для стрельбы в 6 часов утра каждый день, и моя запись cron:
Если вы хотите 1: 01: утра, затем установите его на
Полный код для планировщика
** ОЧЕНЬ ВАЖНО
Чтобы быть уверенным в правильности времени запуска вашего планировщика, вы должны установить значение зоны следующим образом (я в Стамбуле):
Вы можете найти полные значения часового пояса здесь .
Примечание. Моя версия среды Spring: 4.0.7.RELEASE
источник
<task:scheduled ref="paypalCronJob" method="runTask" cron="0 0 6 * * * ?"/>
?Вы можете использовать аннотировать ваш метод с
@Scheduled(cron ="0 1 1 * * ?")
.0 - для секунд
1- 1 минута
1 - час дня.
источник
Чего-то не хватает в ответе Гипинани
Это будет выполнено в 1.01 и 13.01. Его можно использовать, когда вам нужно запускать задание без шаблона несколько раз в день.
А атрибут зоны очень полезен при развертывании на удаленных серверах. Это было введено с весны 4.
источник
Я заметил одну вещь: пружинный CronTrigger - это не cron. Вы можете получить 7 параметров в действительном выражении cron (которое вы можете проверить на cronmaker.com), а затем Spring не примет его. В большинстве случаев вы просто удаляете последний параметр, и все работает нормально.
источник
Весеннее выражение cron на каждый день 1: 01: am
@Scheduled (cron = "0 1 1? * *")
для получения дополнительной информации проверьте эту информацию:
https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
источник