Spring Boot でスケジューリング

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

こんにちは。サイオステクノロジーの木村です。
jarを定期実行したい場合、作成したjarをcronで動かすのもいいと思いますが、今回はSpring Bootのスケジューリング機能を使った方法をご紹介いたします。

@EnableScheduling

Spring Bootにてスケジューリング機能を有効にするには、EnableSchedulingアノテーションを使用します。

@Scheduled

定期的に実行したいメソッドにScheduledアノテーションをつけ、実行するタイミングを定義します。

・fixedRate:メソッドの実行開始時刻から指定されたミリ秒後に実行します。
・fixedDelay:メソッドの実行完了時刻から指定されたミリ秒後に実行します。
・initialDelay:指定されたミリ秒後に初回の実行を行います。fixedRateやfixedDelayと組み合わせて指定します。
・cron:cron式で実行タイミングを定義します。


上記の場合、起動してから5秒後に初回実行し、その後10秒おきに実行されます。

スケジュールを設定ファイルから取得する場合

実行するタイミングは設定ファイルに記載して取得することもできます。
設定ファイル(application.properties)に以下のように実行スケジュールを記載します。(名称は任意)

左から、秒 分 時 日 月 曜日
上記の場合、毎日9時0分0秒に実行されます。

Scheduledアノテーションにて設定ファイルより値を取得するため以下のように記載します。

実装例

例として、日次(毎朝9時)と月次(毎月1日)でメールを送信する処理を実装します。

とても簡単にスケジューリング機能が実装できました。みなさんも是非つかってみてください。

アバター画像
About 木村 29 Articles
Azureなどのクラウドでの稼働を主としたアプリケーション開発を行なっています。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる