Сначала включите планирование в приложении весенней загрузки:
@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
}
}
Однако вам также следует подумать об ограничении количества вызовов этим методом, иначе злоумышленник может запланировать множество задач и переполнить пул задач.