■ 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を順繰り呼んでいく。 ===== パラレルに読み込んだり、書き込んだり、ってところが どうなってるのか見たいんだけど、最初から追っていかないと良くわからないので、 ひとつずつ読み進めていきます。。