SpringBatchでJobの中のStepが呼ばれるまで

■ CommandLineJobRunner
main文持ってます。
mainメソッド
 自分自身のインスタンス作って、
 ハイフンが付いてるヤツはオプションとして解釈してコレクションに詰めて
 1個目の引数はジョブのパス
 2個目の引数はジョブのアイデンティファイア
 それ以外はパラメータ
 startメソッド呼んで結果コード受け取ってexit
startメソッド
 ジョブのパスからXMLを読み込む
 渡されたオプションによって処理を制御させつつ、
 JobRepository(MapJobRepositoryクラスでMap形式になってる)に登録されてるのから
 ジョブの名前で取り出してJobLauncherのrunを実行
 
■ JobLauncher
SimpleJobLauncherが実装クラス。
多重起動とかリランの設定が~とかってのを制御してる。
ジョブパラメータのvalidationとか。
で、処理を走らせる→ job.execute(JobExecution)
JobExecutionってのはただの入れ物で、
いつ処理がはじまって~とか、ステータスは~とかってのを保持する。
実行するときは new Runnable() って形で呼び出します。
 
Job
AbstractJobって抽象クラスがいて、Javaが起動したときに
XMLの内容を読み込んでこいつにセットしてるっぽい。
doExecuteっていうアブストラクトメソッド。
そっから普通はSimpleJobのdoExecuteメソッドで、
JobのXMLに定義されてるstepを順繰り呼んでいく。
 
=====
 
パラレルに読み込んだり、書き込んだり、ってところが
どうなってるのか見たいんだけど、最初から追っていかないと良くわからないので、
ひとつずつ読み進めていきます。。

コメント

  1. […] atch.core.launch.support.CommandLineJobRunner  CommandLineJobRunnerが何やるクラスか?ってのは、  昨日のエントリに書きやした。 ・ArgumentsのProgram arguments  launch-context.xml job2  第一引数はJob定義が書 […]

タイトルとURLをコピーしました