Обновление
Учитывая, как вам нужно планировать их "по требованию", @Scheduling не поможет, как вы упомянули.Я думаю, что самое простое решение - пойти на что-то вроде предложенного @Leftist.
В противном случае, как я уже упоминал в комментариях, вы можете посмотреть на интеграцию Spring Boot Quartz, чтобы создать задание и запланировать его с помощью Quartz.Затем он позаботится о его запуске после двухминутной отметки.Это просто больше кода для почти того же результата.
Оригинал
Для Spring Boot, вы можете использовать встроенную Поддержка планирования .Он позаботится о своевременном запуске вашего кода в отдельном потоке.
Как указано в статье, вы должны включить планирование с помощью @EnableScheduling
.
Затем вы комментируете свой метод, который вы хотите запустить с @Scheduled(..)
, и вы можете либо установить выражение fixedDelay или cron, либо любой из других параметров синхронизации в соответствии с вашими требованиями к времени выполнения.