Как правильно планировать одноразовое задание (запускаемое) программно с заданным временем в Springboot?Я не могу найти эту информацию нигде.IIUC Я хотел бы позвонить
org.springframework.scheduling.TaskScheduler#scheduleWithFixedDelay(java.lang.Runnable, java.util.Date, long)
, но TaskScheduler
не может быть введен (с автоматической настройкой).То же самое для ScheduledTaskRegistrar
.Я могу начать свой собственный кварц, но это не правильно.Я хочу сделать это правильно и повторно использовать то, что уже реализовано в Springboot.Опять же, мне нужно сделать это программно, т.е.вызовите this , через одну минуту, поэтому аннотаций нет.Даже если я реализую SchedulingConfigurer
, ScheduledTaskRegistrar
, переданный в configureTask, не установит TaskScheduler
.
Это кажется совершенно недокументированным, хотя это должно быть действительно легко сделать.Может кто-нибудь посоветовать?
РЕДАКТИРОВАТЬ: извините, я не прочитал документацию, желаемый метод - org.springframework.scheduling.TaskScheduler#schedule(java.lang.Runnable, java.util.Date)
, так как один из упомянутых выше вызывает задание несколько раз, хотя требуется только один раз.Но суть в том, чтобы в первую очередь связаться с TaskScheduler, так что остальное остается в силе.Примечание: ручная настройка ThreadPoolTaskScheduler
работает, но разве не должна быть настроена Springboot, если присутствует @EnableScheduling
?