Sprin Batchの基本構成

「Sprin Batchの基本構成」の編集履歴(バックアップ)一覧はこちら

Sprin Batchの基本構成」(2014/05/02 (金) 14:08:23) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**Sprin Batchの基本構成 job    ・・・ジョブの実行単位。コマンドライン、javaのコード上から呼び出される単位。 ┣step  ・・・ジョブ内の処理の単位。このステップ毎に条件分岐・リスタート・並行処理の制御が可能。 ┃┃      1つのジョブ内に複数指定可能。 ┃┗tasklet・・・・論理的な実行単位であるstepに紐づく物理的な処理単位。 ┃ ┃       readerなどの下位のbeanをhandlingする。 ┃ ┃       chunkの処理を行うChunkOrientedTasklet、コマンドライン入力を行うSystemCommandTaskletなど。 ┃ ┃       stepを実現するためにフレームワークが規定しているhandler群のイメージ?? ┃ ┗chunk ・・・・データ※(以下item)のコミット単位。 ┃  ┣reader・・・itemの入力を行うクラスを定義する。 ┃  ┣prosessor・・・読み込んだitemへの編集処理を行うクラスを定義する。 ┃  ┣writer・・・読み込んだitemの出力処理を行うクラスを定義する。 ┃  ┗skippable ・・・ジョブ内の各要素にて例外が発生しても処理をスキップし、 ┃           次のitemの処理を続ける例外を定義する。 ┗listeners ・・・ジョブ内の各要素(step~skippable)の処理前後に行う処理を定義する。 ※Spring Batch では入出力データの事を"item"として記述しているため本稿もそれにならう。 **上記をxmlで記述した場合 01<!-- bean定義 --> 02<job id="Batch1" xmlns="http://www.springframework.org/schema/batch"> 03 <step id="step1" parent="faultTolerantStep"> 04 <tasklet transaction-manager="transactionManager"> 05 <chunk reader="batch1ItemReader" processor="batch1Processor" 06 writer="batch1Writer" commit-interval="1" skip-limit="100"> 07 <skippable-exception-classes> 08 <include class="com.example.batch.exception.Batch1SkipException" /> 09 <include class="org.springframework.dao.DataIntegrityViolationException" /> 10 </skippable-exception-classes> 11 <listeners> 12 <listener ref="batch1ItemListener" /> 13 </listeners> 14 </chunk> 15 </tasklet> 16 </step> 17 <listeners> 18 <listener ref="batch1JobExecutionListener" /> 19 </listeners> 20</job> 21<!-- 以下のbean定義は省略 --> 02行目,20行目:jobを定義。id属性の定義内容がJobidとなり、コマンドラインなどからの呼び出し時に指定される。 03行目,16行目:stepを定義。parent属性は基底クラスのようなもの。         例ではbean:faultTolerantStepに指定したproperty情報を引き継いでいる。 04行目,15行目:taskletを定義。transaction-manager属性は詳細確認中。 05~06,14行目:chunkを定義。reader,processor,writerのbeanを指定。commit-intervalなどコミットに関する情報を定義。 07行目,10行目:skippableを定義。処理中指定されたExceptionが発生したitemをスキップし、後続のitemの処理を行う。 11行目-13行目:step内で起動するlistenersを定義。afterRead,onReadErrorなど各要素の前後、例外発生時に実行される処理を定義できる。 17行目-19行目:job内で起動するlistenersを定義。ジョブの実行前後に実行される処理を定義できる。

表示オプション

横に並べて表示:
変化行の前後のみ表示: