Я хочу проверить, работает ли мой Кварцевый триггер так, как это предполагается на практике. Моя конфигурация Quartz выглядит так:
@Configuration
public class QuartzConfiguration {
@Bean
public JobDetail verificationTokenRemoverJobDetails() {
return
JobBuilder
.newJob(VerificationTokenQuartzRemoverJob.class)
.withIdentity("Job for verification token remover")
.storeDurably()
.build();
}
@Bean
public Trigger verificationTokenRemoverJobTrigger(JobDetail jobADetails) {
return
TriggerBuilder
.newTrigger()
.forJob(jobADetails)
.withIdentity("Trigger for verification token remover")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 0/2 1/1 * ? *"))
.build();
}
}
, а мой класс Job выглядит следующим образом:
@AllArgsConstructor
public class VerificationTokenQuartzRemoverJob implements Job {
private VerificationTokenRepository verificationTokenRepository;
@Override
public void execute(JobExecutionContext context) {
verificationTokenRepository.deleteAllByCreatedLessThan(LocalDateTime.now().minusMinutes(30));
}
}
Когда я запускаю приложение Spring Boot в журналах, я понимаю, что Job работает и запускаетсяциклический, но этого недостаточно для подтверждения правильной работы.
Вот почему я решил создать тест JUnit. Я нашел учебник: click , но владелец использовал предложение while (true), которое в соответствии с этой темой: click не является предпочтительным вариантом. Здесь возникает вопрос, есть ли какая-либо другая опция для проверки имени класса Job, идентификатора триггера и проверки, вызывается ли выражение CRON и конкретное задание как можно чаще?
Если возможно, буду благодарен за предложения о том, как достичь желаемого эффекта.