Spring Boot 5 バッチ処理
runメソッド
@SpringBootApplication
public class App implements CommandLineRunner {
@Autowired
private static ApplicationContext ctx;
public static void main(String[] args) {
SpringApplication app = new SpringApplication(App.class).run();
Webサービスを起動しない場合
app.setWebEnvironment(false);
アプリケーションの実行
ctx = app.run();
}
public void run(String… args) throws Exception{
ここが実行される
アプリケーションの強制終了
SpringApplication.exit(ctx);
}
}
タスクの定期実行
@SpringBootApplication
@EnableScheduling
public class App {
public static void main(String[] args) {
new SpringApplication(App.class).run();
}
@Scheduled(
initialDelay = 1000,
fixedRate = 1000)
public void myTask(){
System.out.println("myTask");
}
設定ファイル使用
@Scheduled(
initialDelayString = "${app.initialDelay}",
fixedDelayString = "${app.fixedDelay}")
public void myTask(){
System.out.println("myTask");
}
}
※application.property
app.initialDelay=1000
app.fixedRate=1000
app.fixedDelay=1000
設定項目 | 機能 | |
---|---|---|
fixedDelay | fixedDelayString | タスクの完了時点から指定時間後にタスクを実行 |
fixedRate | fixedRateString | タスクの開始時点から指定時間後にタスクを実行 |
initialDelay | initialDelayString | 指定時間後に最初のタスクを実行 |