Выражение cron в Spring с использованием @Scheduled
состоит из следующих частей:
<second> <minute> <hour> <day-of-month> <month> <day-of-week> <year>
Где последняя часть <year>
является необязательной.
В вашем примере вы используете и 0 для <day-of-month>
и <month>
, что невозможно, поскольку они начинаются не с 0, а с 1.
Ваш cron работает со следующими двумя настройками:
bc.cronExpression=0 8 0 * * 0
Где *
означает любой день месяца за любой месяц.
Или вы можете использовать следующее для выполнения вашего кода только в первый день первого месяца:
bc.cronExpression=0 8 0 1 1 0
Для получения дополнительной информации, Bealdung составил отличное руководство к выражениям cron, которые могут помочь вам понять это дальше.