こんばんは sohnishi です。
今回はSpringでタスクの定期実行をしてみようと思います。
アノテーションを使用することでとても簡単に利用できます。
Application.javaに@EnableScheduling を記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
package com.hoge; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling public class HogeApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(HogeApplication.class, args); } } |
あとは定期実行したい処理に@Scheduled アノテーションを付けるだけです。
1 2 3 4 |
@Scheduled(initialDelay = 1, fixedDelay = 21600000) public void hogeTask() { System.out.println("Hogehoge..."); } |
この例では最初の実行を1秒後に行い、それ以降は6時間毎に実行しています。
単位はmsなので、1秒=1000msとなっています。
その他にもオプションがいくつか存在するので、ぜひ調べてみてください。
以上、とっても簡単な定期実行のご紹介でした。