Spring Batchチュートリアル
写真提供者:Spring Source
Spring Batchは、バッチ処理(一連のジョブの実行)のためのオープンソースフレームワークです。 Spring Batchは、大量のデータを処理するために、リソースの読み取り/書き込み、トランザクション管理、ジョブ処理統計、ジョブの再起動、およびパーティション化技術のためのクラスとAPIを提供します。
次のSpring Batchのチュートリアルと例は、以下でテストされています。
-
Spring Core 3.2.2.RELEASE
-
Spring Batch 2.2.0.RELEASE
P.S Spring Batch is part of the Spring Portfolio.
1. クイックガイド
単純なバッチジョブ。コマンドラインで実行します。
-
Spring Batch Hello World Example
Springバッチについての簡単な説明。CSVファイルからデータを読み取り、処理して、XMLファイル(JAXB)に書き込むジョブを作成します。 -
Spring Batch TaskletStep example
バッチジョブの完了後にリソースをクリーンアップする例。 -
Run Spring Batch Job With CommandLineJobRunner
コマンドラインでSpringバッチジョブを実行します。
2. ItemReader、ItemProcessor、ItemWriter
Springバッチクラスを使用してリソース(csv、xml、およびデータベース)を読み書きする例を示すいくつかの例。
-
Spring Batch Example – CSV File To MySQL database
CSVファイルからデータを読み取り、MySQLデータベースに書き込みます。ジョブメタはデータベースに保存されます。 -
Spring Batch Example – XML File To MongoDB database
XMLファイル(XStream)からデータを読み取り、それをnosqlデータベースMongoDBに書き込みます。また、バッチジョブの単体テストも行います。 -
Spring Batch Example – XML File To CSV File
XMLファイル(JAXB2)からデータを読み取り、ItemProcessorで処理して、CSVファイルに書き込みます。 また、日付とBigDecimalデータ型をJAXB2を介してオブジェクトとの間で変換する方法も示します。 -
Spring Batch Example – MySQL Database To XML
MySQLデータベースからデータを読み取り、それをXMLファイル(XStream)に書き込みます。これもjobParametersを使用します。 -
Spring Batch MultiResourceItemReader example
複数のファイルを読み取るためのItemReader。
3. スケジューラー
スケジューラフレームワークでバッチジョブを実行します。
-
Spring Batch + Spring TaskScheduler example
Spring TaskSchedulerは、5秒ごとに実行されるバッチジョブをスケジュールします。 -
Spring Batch + Quartz Scheduler example
Quartzを統合して、バッチジョブが10秒ごとに実行されるようにスケジュールします。
4. 単体テスト
-
Spring Batch unit test example
バッチジョブまたは個々のステップを単体テストする方法。
5. 前進
-
Spring Batch partitioner example
データの範囲を処理するための複数のスレッド。 -
Spring Batch listener example
バッチジョブのステップ実行をインターセプトする例。
6. Spring Batch FAQ
Spring Batchの一般的な質問と回答。