Spring

Spring Bootで定期的に処理を実行する方法

Spring Bootで定期的に処理を実行(スケジューリング)する方法をメモしておきます。バッチ処理を行う際に使えそうです。設定も簡単でした。

環境

Spring Bootで定期的に処理を実行する

Spring Bootでスケジューリングを有効化するためには、アプリケーションクラスに@EnableSchedulingアノテーションをつけます。

あとは、定期的に処理を実行したいメソッドに@ScheduledアノテーションをつけてやればOKです。

@Scheduledアノテーションで使用できるパラメータは以下のとおりです。

  • fixedDelay:メソッドの前回の実行完了時刻から何ミリ秒後に実行するか。
  • fixedRate:メソッドの前回の実行開始時刻から何ミリ秒後に実行するか。
  • initialDelay:メソッドの初回実行時の待機時間。単位はミリ秒。
  • croncronによるスケジュール設定。zoneによるタイムゾーンの指定も可能。

スケジューリングの指定を設定ファイルに記述する

application.ymlapplication.propertiesのどちらかにスケジューラの設定を記述します。

application.yml

application.properties

あとは、@Scheduledアノテーションのパラメータに${設定名}を設定してやればOKです。

まとめ

Spring Bootで定期的に処理を実行(スケジューリング)する方法でした。思っていたよりもずっと簡単に設定できました。

参考リンク

-Spring

© 2024 Reasonable Code