スケジューリング(定期的に処理する)

サーバ側で定期的に処理を行いたい場合、広く使われているのがCronですが、Springではスケジューリングに関する機能があります。このスケジューリング機能を使ってみましょう(参考: 28.4 Annotation Support for Scheduling and Asynchronous Execution)。

まず、スケジューリング機能を有効にします。@EnableSchedulingアノテーションを使います。

次に、定期的に実行したいメソッドに@Scheduledアノテーションをつけます。システムにDIされるオブジェクト(例えばコントローラー)ならばなんでもかまいません。ここでは、@Serviceを指定したクラスにします。

  • 9行目: fixedRateで実行間隔を指定する。
  • 14行目: cronでcrontabファイルと同様の記法で実行間隔を指定する。

これで定期的に実行されます。

scheduled tasks