Как запланировать выполнение метода на определенное время во время выполнения - PullRequest
0 голосов
/ 27 февраля 2019

Допустим, у меня есть некоторые остальные API, где аргументы - это время выполнения метода, а вторым аргументом - имя метода в классе.Каков наилучший способ для вызова этого метода в определенное время (только один раз) в приложении весенней загрузки?

1 Ответ

0 голосов
/ 27 февраля 2019

Сначала включите планирование в приложении весенней загрузки:

@SpringBootApplication
@EnableScheduling
public class Application {
// ...

Затем введите бин TaskScheduler и запланируйте задачу программно каждый раз, когда пользователь вызывает метод REST:

public class MyScheduler {

    @Autowired
    private TaskScheduler scheduler;

    public void scheduleNewCall(Date dateTime) {
        scheduler.schedule(this::scheduledMethod, dateTime);
    }

    public void scheduledMethod() {
    // method that you wish to run
    }

}

Однако вам также следует подумать об ограничении количества вызовов этим методом, иначе злоумышленник может запланировать множество задач и переполнить пул задач.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...