Если вы ищете возможность инициировать планирование задач из другого Бина, тогда Запланированные аннотации не являются подходящим решением.Вместо этого вы можете использовать планировщик задач, который используется Spring, когда он планирует задачи аннотации по расписанию в фоновом режиме.Таким образом, следующие шаги: 1) Настройте bean-компонент планировщика задач
@Bean
public ThreadPoolTaskScheduler threadPoolTaskScheduler(){
ThreadPoolTaskScheduler threadPoolTaskScheduler
= new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(5);
threadPoolTaskScheduler.setThreadNamePrefix(
"ThreadPoolTaskScheduler");
return threadPoolTaskScheduler;
}
2) Добавьте его в bean-компонент, для которого вы хотите запустить планирование
@Autowired ThreadPoolTaskScheduler scheduler;
3) Запланируйте задачу в месте, где выхотите запустить планирование с нужными параметрами.
taskScheduler.schedule(
new Runnabletask("Specific time, 3 Seconds from now"),
new Date(System.currentTimeMillis + 3000)
);
Для получения более подробной информации прочитайте http://www.baeldung.com/spring-task-scheduler