Я пытаюсь запустить метод в Spring с ScheduledTasks, поэтому у меня есть следующий класс:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.time.format.DateTimeFormatter;
@Component
public class ScheduledTasks {
private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class);
private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
public void scheduleTaskWithFixedRate() {
}
public void scheduleTaskWithFixedDelay() {
}
public void scheduleTaskWithInitialDelay() {
}
public void scheduleTaskWithCronExpression() {
}
}
И следующий метод в другом классе
@Scheduled(fixedRate = 10 * 1000) //10 seconds
public void taskThatRunsPeridically() {
logger.info("Scheduled task method has been called ");
}
Нометод никогда не запускается, я заметил, что если я переместу метод в класс Spring Boot Application (класс, который содержит main
)
Почему это происходит? Как я могу получить методы расписания для запуска в любом месте класса, в который я их добавлю?