このバージョンはまだ開発中であり、まだ安定しているとは見なされていません。最新の安定バージョンについては、Spring Boot 4.0.6 を使用してください!

Spring Batch

Spring Boot は、起動時にジョブを実行するなど、Spring Batch を操作するための便利な機能をいくつか提供します。

バッチアプリケーションを構築するときに、次のストアを自動構成できます。

  • メモリ内

  • JDBC

  • MongoDB

各ストアには固有の追加設定があります。たとえば、次の例に示すように、JDBC ストアのテーブルプレフィックスをカスタマイズできます。

  • プロパティ

  • YAML

spring.batch.jdbc.table-prefix=CUSTOM_
spring:
  batch:
    jdbc:
      table-prefix: "CUSTOM_"

MongoDB ストアを使用する場合、Spring Batch ジョブリポジトリスキーマ(コレクションとインデックス)の初期化を有効にすることができます。

  • プロパティ

  • YAML

spring.batch.data.mongodb.schema.initialize=true
spring:
  batch:
    data:
      mongodb:
        schema:
          initialize: true

Spring Boot の自動構成を無効にして Spring Batch の構成を完全に制御するには、@Configuration (Javadoc) クラスのいずれかに @EnableBatchProcessing (Javadoc) を追加するか、DefaultBatchConfiguration (Javadoc) を継承します。これにより、Spring Batch のデータベーススキーマ (JDBC または MongoDB) の初期化を含む自動構成が停止します。その後、Spring Batch は、前述の構成プロパティではなく、@Enable*JobRepository アノテーションの属性を使用して構成できます。

Spring Batch を手動で構成する方法の詳細については、次の API ドキュメントを参照してください。

Spring Batch の詳細については、Spring Batch プロジェクトページを参照してください。

起動時に Spring Batch ジョブを実行する

Spring Boot が Spring Batch を自動構成し、アプリケーションコンテキスト内に Job (Javadoc) Bean が 1 つ見つかった場合、起動時に実行されます(詳細は JobLauncherApplicationRunner (Javadoc) を参照してください)。複数の Job (Javadoc) Bean が見つかった場合は、実行するジョブを spring.batch.job.name を使用して指定する必要があります。

次の例に示すように、アプリケーションコンテキストで見つかった Job (Javadoc) の実行を無効にすることができます。

  • プロパティ

  • YAML

spring.batch.job.enabled=false
spring:
  batch:
    job:
      enabled: false