は、私はプログラム的に例えば、スケジュールされたタスクを作成してい春のスケジュールされたタスクを取得するにはどうすればいいですか?私の春ブーツアプリで
@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();
}
}
私はその場でタスクの上にスケジュールを変更するために、いくつかの方法が必要ですが、いくつかのいずれかは、私は上記の作業を完了するために助けることができますか?私はmyRunnable.getID()のようなIDによるタスクの再スケーリングを好むだろう。 ご協力いただければ幸いです。
私は私のコントローラで
@Autowired
private ScheduledTaskRegistrar scheduledTaskRegistrar;
を、次の試してみました。しかし、それはあなたがあなたのアプリケーションに新しいCRON式を送信するためのREST API(@RestController
)を作成することができ、コントローラ
ウェブアプリケーションですか?任意のストレージを使用していますか? – luboskrnac
はいDBに保存しています –
@AniketKulkarniどのように解決できましたか? – Divs