Spring Batch

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

Spring Batch がクラスパスで使用可能な場合は、@EnableBatchProcessing (Javadoc) アノテーションを通じて初期化されます。

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

  • メモリ内

  • JDBC

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

  • プロパティ

  • YAML

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

@EnableBatchProcessing (Javadoc) を使用することで、Spring Batch の設定を制御できます。これにより自動構成が解除されます。その後、Spring Batch は、前述の設定プロパティではなく、@Enable*JobRepository アノテーションの属性を使用して設定できるようになります。

起動時に 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

詳細については、BatchAutoConfiguration [GitHub] (英語) および BatchJdbcAutoConfiguration [GitHub] (英語) を参照してください。