1. Построение выражения Cron
Использование выражения задания Cron Spring
@Scheduled(cron = "[Seconds] [Minutes] [Hours] [Day of month] [Month] [Day of week] [Year]")
NB поле года необязательно
#
используется для указания дня недели и недели, с которой должно начинаться задание.
например, первая суббота каждого месяца (7#1
)
?
не представляет определенного значения c и может использоваться в день месяца или поле дня недели
*
представляет все значения
, следовательно, выражение cron становится
@Scheduled(cron = "0 0 23 ? * 7#1")
2. Тестирование задания Cron
-использование Spring Integration testing
@SpringJUnitConfig(CleanScheduler.class)
public class CleanSchedulerUnitTest {
@Autowired
private CleanScheduler cleanScheduler;
@Test
void cleanUpScheduledTaskShouldReturnSuccess() {
//Act
cleanScheduler.cleanUpScheduledTask();
//Assertions
}
}