У меня запланированное задание, которое выполняется через определенное время.
Теперь я хочу запустить это запланированное задание, только если условие выполнено.Условие получается во время выполнения и не зависит от какого-либо параметра конфигурации.
Как мне этого добиться.Я знаю, что Spring Boot 4.x предоставляет этот интерфейс, который называется Condition.Но почему-то мой код не работает.
Вот мой код ...
ScheduledTask
@Configuration
public class ScheduleTask {
@Scheduled(fixedRateString = "5000")
@Conditional(SchedulerCondition.class)
public void pollDepots() {
System.out.println("Running");
}
}
Условный класс
public class SchedulerCondition implements Condition {
@Override
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
return false;
//Here some condition needs to be implemented which is not dependent on the parameters of this method.
}
}
Жду вашегоответ.Хорошего дня.