spring-boot にて、定時実行バッチを記述したい
spring-boot でバックエンドのサービスを開発しています。
以下の性質を持つバッチ群を作成したいと考えているのですが、spring 的に、どのような構成でバッチを作成するのが正しいのか、わからずにいます。
- 各バッチは、 DataManager Bean (インスタンス) を共通して使いたい.
(排他制御は DataManager が行う) - 各バッチは、それぞれ非同期実行してもかまわない
- 各バッチは、それぞれに定められた周期で定期的に実行される。
自分でパッと考えつくのは、
- 各バッチごとに、 XxxBatchManager を Bean で作成
- 各 BatchManager は、バッチジョブを実行し、それが終わったら sleep(規定時間) を行う。これを繰り返す。
なのですが、もうちょっとうまい方法があるのではないか、と思い質問しています。