■ 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を順繰り呼んでいく。
=====
パラレルに読み込んだり、書き込んだり、ってところが
どうなってるのか見たいんだけど、最初から追っていかないと良くわからないので、
ひとつずつ読み進めていきます。。
コメント
[…] atch.core.launch.support.CommandLineJobRunner CommandLineJobRunnerが何やるクラスか?ってのは、 昨日のエントリに書きやした。 ・ArgumentsのProgram arguments launch-context.xml job2 第一引数はJob定義が書 […]