在我的 Spring Boot 应用程序中,我正在以编程方式创建计划任务,例如
@Configuration
@EnableScheduling
public class AppConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.setScheduler(taskScheduler());
//following loop will get executed according to requirement for now //just looping 0-9
for(int i=0;i<10;i++){
MyRunnable myRunnable=new MyRunnable();
myRunnable.setID(i);
taskRegistrar.addTriggerTask(myRunnable,new CronTrigger("0 0/15 * * * *"));
}
}
@Bean(destroyMethod="shutdown")
public Executor taskScheduler() {
return Executors.newScheduledThreadPool(42);
}
@Bean
public MyTask myTask() {
return new MyTask();
}
}
我需要一些方法来即时重新安排上述任务,有人可以帮助我完成上述工作吗?我更喜欢按 ID 重新安排任务,例如myRunnable.getID()。任何帮助将不胜感激?
我试过在我的控制器中关注
@Autowired
private ScheduledTaskRegistrar scheduledTaskRegistrar;
但它没有注入控制器