Spring Batchサンプルを実行してみる

では、Spring Batchを実行してみよう。

まずは、Spring Batchプロジェクトページから、最新版のアーカイブをダウンロードして欲しい。この記事では、「spring-batch-2.1.1.RELEASE-no-dependencies.zip」を使用している。

次に、ダウンロードしたZipファイルをIDE上にインポートする。当記事ではeclipse v3.5を利用している(SpringSourceのIDE「SpringSource Tool Suite」を利用すると、Spring Batchの開発に便利なビジュアルエディタを使用できるメリットがあることを補足しておく)。尚、Java6のランタイム、Mavenプラグインも必要となる。

上記Zipをインポートすると、Mavenが自動的にプロジェクトの依存ライブラリをダウンロードしてくれるが、環境によっては多少時間がかかることに注意してほしい。

Eclipseへのインポートが終了すると、「simple-cli-archetype」「spring-batch-parent」「spring-batch-samples」の3つのプロジェクトが作成されているはずだ。このうち、「simple-cli-archetype」はコマンドライン起動用のSpringBatch最小構成のプロジェクトだ。今回の記事では、このプロジェクトを利用している。

早速、simple-cli-archetypeを実行してみよう。このプロジェクトのサンプルコードはMavenコマンドで実行可能だが、今回はバッチらしくコマンドラインで引数を与えて実行してみよう。

「simple-cli-archetype」プロジェクトを右クリックし、「実行」<「実行の構成」を選択し、実行構成画面を表示させてほしい。

メインタブで、メイン・クラスに「org.springframework.batch.core.launch.support.CommandLineJobRunner」を指定、引数タブにてプログラムの引数に「classpath:/launch-context.xml job1」を選択し、実行を選択する。

メインタブでの設定内容(クリックで拡大)

引数タブでの設定内容(クリックで拡大)

バッチプログラムが起動され、以下のような実行結果がコンソールに出力されるはずだ。

…
[AbstractJob] - <Job execution complete: JobExecution: id=0, startTime=・・・, endTime=null, lastUpdated=・・・, status=COMPLETED, exitStatus=exitCode=COMPLETED;exitDescription=, job=[JobInstance: id=0, JobParameters=[{}], Job=[job1]]>
…

上記のように、「Job execution complete」のメッセージが出ていたなら、バッチ処理が正常終了したことを示している。