Spring Batchを使用できる状態にするにはどのような準備が必要でしょうか?
それを簡単に見ていこうと思います
【準備】
以下のことする必要があります。
バージョンはこの記事を書くに当たって試してみたものを記述しています。
1.ライブラリのダウンロード
Spring Batchを使用するには以下のライブラリをダウンロードしてプロジェクトに入れます。
このくらいあればだいたい動くと思います。(色々やってみて足りないときは順次追加してください!)
・antlr-2.7.5.jar
・asm-all-2.2.3.jar
・aspectjrt.jar
・aspectjweaver.jar
・cglib-nodep-2.1_3.jar
・commons-beanutils-1.8.0.jar
・commons-collections-3.2.1.jar
・commons-dbcp-1.2.2.jar
・commons-digester-1.8.jar
・commons-io-1.1.jar
・commons-lang-2.3.jar
・commons-logging.jar
・commons-pool-1.5.jar
・commons-validator-1.3.1.jar
・log4j-1.2.16.jar
・spring-2.5.6.jar
・spring-context-2.5.6.jar
・spring-core-2.5.6.jar
・spring-test-2.5.6.jar
・spring-batch-core-2.1.2.RELEASE.jar
・spring-batch-infrastructure-2.1.2.RELEASE.jar
・spring-batch-test-2.1.2.RELEASE.jar
・xstream-1.3.1.jar
・jettison-1.0.1.jar
・junit-4.4.jar
・hsqldb.jar (2.0.0) ←DBを使用したくない場合や、サンプルを動かしたい場合に使用
2.DBの作成
Spring Batchは前回の記事で見ましたように実行結果の保存先が必要でそれはDBになります。
必要なテーブルを作成しましょう!
実は、JARファイルの中にcreate table文が入ってます。
Spring BatchのJARファイルの中をeclipseか、解凍ソフトで解凍して以下のパスを見てみてください。
org/springframework/batch/core/
schema-hsqldb.sql
schema-mysql.sql
schema-oracle10g.sql
schema-postgeresql.sql などなど
スキーマは上記のようにいろいろ用意されています!
ファイルを開いてそれぞれのDBで実行するだけです!
【説明】
簡単な説明を記述しておきます。
1.SpringBatchでは、宣言的トランザクション管理を使用したり、処理結果などをJSON形式で保存したり
しているようです。
そのため、xstreamや、cglibなどのライブラリも必要になります。
ちなみに、hsqldbは純正Java製のDBです。
ダウンロードしたSpringBatch(2.1.2)を解凍するとサンプルが出てきます。
その中を検索すると以下のクラスがあります。
test.jdbc.datasource.DataSourceInitializer
このクラスはテスト用のクラスで、SpringでDIされたときにafterPropertiesSet()内で、HSQLDB内に
create tableします。つまり、テスト用に起動のたびに必要なテーブルを作ってくれます。
<補足>
ちなみに、テストのためであれば保存先をメモリ上にすることができるクラスもあります。
org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean
こういったクラスもうまく使って動作実験してみましょう!
2.スキーマについて
スキーマについては特に記述することがありません。。
すみません。
こちらを参照ください。
http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html
これで多分、サンプルなども動くかと思います。
参考: