Говоря о запланированных задачах, нам следует подумать о @Scheduled, Quartz и XXL-JOB. Однако некоторые отдельные сервисы или небольшие проекты могут напрямую использовать @Scheduled для реализации асинхронных задач для удобства и скорости. Таким образом, требования к теме данной статьи расширены.
Когда в проекте используется @Scheduled, как указанную асинхронную задачу можно выполнить заранее при запуске проекта?
1. Подробное объяснение @Scheduled
Аннотация @Scheduled поддерживает несколько параметров для гибкого управления временем выполнения задачи.
cron: выражение Cron, которое может точно контролировать секунды, минуты, часы, дни, месяцы, недели и т. д.
Zone: Получите часовой пояс, например Азия/Шанхай, часовой пояс, который мы обычно используем. Обычно мы оставляем это поле пустым.
фиксированная задержка: через какое время после последнего завершения выполнения он будет выполнен снова. Например, @Scheduled(fixedDelay = 5000)
фиксированнаяDelayString: имеет то же значение, что и фиксированнаяDelay, но в виде строки. Единственное отличие состоит в том, что он поддерживает заполнители, такие как @Scheduled(fixedDelayString = "5000").
fixRate: сколько времени прошло после последнего запуска времени выполнения, например @Scheduled(fixedRate = 5000)
fixRateString: имеет то же значение, что и fixRate, но в виде строки. Единственное отличие состоит в том, что поддерживаются заполнители.
InitialDelay: как долго задерживать выполнение в первый раз. Например, первая задержка составляет 1 секунду перед выполнением. После этого он будет выполняться каждые 5 секунд в соответствии с правилом fixRate. )
InitialDelayString: имеет то же значение, что и InitialDelayString, но в виде строки. Единственное отличие состоит в том, что поддерживаются заполнители.
2. Логическая реализация
1. Создайте логический метод запланированной задачи.
Примечание. Не забудьте добавить @EnableScheduling в класс запуска, чтобы запланированная задача выполнялась. Конечно, это не влияет на логический тест в этой статье.
3. Результаты испытаний
После запуска службы просмотрите информацию о печати.