jp.terasoluna.fw.batch.init
クラス EndFileChecker

java.lang.Object
  上位を拡張 java.util.TimerTask
      上位を拡張 jp.terasoluna.fw.batch.init.EndFileChecker
すべての実装されたインタフェース:
java.lang.Runnable

public class EndFileChecker
extends java.util.TimerTask

ジョブ終了ファイルチェッククラス。
ジョブ終了ファイルのファイル名によって終了処理が行われる。

ジョブ終了ファイルのファイル名の構造は以下の通り。
・<ジョブID>.<終了方式識別キー>
・<ジョブID>_<ジョブ依頼番号>.<終了方式識別キー>
 もしくは
 <ジョブID>_<ジョブプロセスID>.<終了方式識別キー>
ジョブ依頼番号/ジョブプロセスIDは指定した場合にのみ付与される。

終了方式識別キーは以下2つがある。
・強制終了:end
・中断終了:irp

指定された拡張子以外の拡張子が設定されたファイルが終了ファイルディレクトリに 存在する場合は監視周期ごとに警告ログが発生する。
また、ファイル名に"."が一つではない場合は監視対象外ファイルと判断する。


フィールドの概要
private  java.lang.String endFileDir
          終了ファイルディレクトリ。
private static java.lang.String EXTENSION_GRACEFUL
          中断終了識別キー。
private static java.lang.String EXTENSION_IMMEDIATE
          強制終了識別キー。
private  java.util.Map<java.lang.String,JobStatus> jobStatusMap
          処理状況格納用Map。
private static org.apache.commons.logging.Log log
          ログインスタンス。
 
コンストラクタの概要
EndFileChecker()
          コンストラクタ。
 
メソッドの概要
private  void addJobStatus(java.lang.String key, JobStatus jobStatus)
          ジョブステータスをマップに登録する。
 void addParentJobStatus(JobStatus jobStatus, java.lang.String jobID, java.lang.String jobOptionID)
          親ジョブのジョブステータスを処理状況格納用Mapに設定する。
private  void endJob(java.lang.String endType, java.util.List<java.lang.String> processKey)
          終了制御対象のListに登録されているジョブの処理状況を中断終了中、または 強制終了中に変更し情報ログを出力する。
private  java.util.List<java.lang.String> getProcessKey(java.lang.String endFileName)
          終了制御対象のマップに登録されたキーのリストを 終了ファイル名に基づいて取得する。
private  void processEnd(java.io.File endFileDir)
          すでに設定されている終了ファイルディレクトリを確認し、 存在する全てのファイルに対しジョブ終了制御を行う。
private  void removeJobStatus(java.lang.String key)
          終了制御を行ったジョブステータスをマップから削除する。
 void removeParentJobStatus(JobStatus jobStatus, java.lang.String jobID, java.lang.String jobOptionID)
          親ジョブのジョブステータスを処理状況格納用Mapから削除する。
 void run()
          ジョブ終了ファイル監視起動用メソッド。
 void setEndFileDir(java.lang.String endFileDir)
          終了ファイルディレクトリを設定する。
 
クラス java.util.TimerTask から継承されたメソッド
cancel, scheduledExecutionTime
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static final org.apache.commons.logging.Log log
ログインスタンス。


EXTENSION_IMMEDIATE

private static final java.lang.String EXTENSION_IMMEDIATE
強制終了識別キー。

関連項目:
定数フィールド値

EXTENSION_GRACEFUL

private static final java.lang.String EXTENSION_GRACEFUL
中断終了識別キー。

関連項目:
定数フィールド値

jobStatusMap

private java.util.Map<java.lang.String,JobStatus> jobStatusMap
処理状況格納用Map。


endFileDir

private java.lang.String endFileDir
終了ファイルディレクトリ。

コンストラクタの詳細

EndFileChecker

public EndFileChecker()
コンストラクタ。 ジョブ処理状況格納用Mapを初期化する。

メソッドの詳細

run

public void run()
ジョブ終了ファイル監視起動用メソッド。
DefaultValueBean.xmlの設定に基づいて、 周期的に起動される。
ジョブ処理状況格納用Mapにジョブ処理状況が登録されている場合、 本クラスの#processEnd()を起動する。

定義:
インタフェース java.lang.Runnable 内の run
定義:
クラス java.util.TimerTask 内の run

addParentJobStatus

public void addParentJobStatus(JobStatus jobStatus,
                               java.lang.String jobID,
                               java.lang.String jobOptionID)
親ジョブのジョブステータスを処理状況格納用Mapに設定する。

パラメータ:
jobStatus - 親ジョブのジョブ処理状況
jobID - ジョブID
jobOptionID - ジョブプロセスID または ジョブ実行依頼番号

removeParentJobStatus

public void removeParentJobStatus(JobStatus jobStatus,
                                  java.lang.String jobID,
                                  java.lang.String jobOptionID)
親ジョブのジョブステータスを処理状況格納用Mapから削除する。

パラメータ:
jobStatus - 親ジョブの実績
jobID - ジョブID
jobOptionID - ジョブプロセスID または ジョブ実行依頼番号

processEnd

private void processEnd(java.io.File endFileDir)
すでに設定されている終了ファイルディレクトリを確認し、 存在する全てのファイルに対しジョブ終了制御を行う。
ファイルに'.'が複数含まれている場合は、処理対象としない。
ファイルの拡張子が「end」または「irp」以外であった場合、 警告ログを出力し処理対象から外す。

パラメータ:
endFileDir - 終了ファイルディレクトリ

endJob

private void endJob(java.lang.String endType,
                    java.util.List<java.lang.String> processKey)
終了制御対象のListに登録されているジョブの処理状況を中断終了中、または 強制終了中に変更し情報ログを出力する。

パラメータ:
endType - 終了種別
processKey - 終了制御対象のList

addJobStatus

private void addJobStatus(java.lang.String key,
                          JobStatus jobStatus)
ジョブステータスをマップに登録する。

パラメータ:
key - 登録キー
jobStatus - ジョブステータス

removeJobStatus

private void removeJobStatus(java.lang.String key)
終了制御を行ったジョブステータスをマップから削除する。

パラメータ:
key - 登録キー

getProcessKey

private java.util.List<java.lang.String> getProcessKey(java.lang.String endFileName)
終了制御対象のマップに登録されたキーのリストを 終了ファイル名に基づいて取得する。

パラメータ:
endFileName - 終了ファイル名
戻り値:
終了制御対象のMapに登録されたキーのリスト

setEndFileDir

public void setEndFileDir(java.lang.String endFileDir)
終了ファイルディレクトリを設定する。

パラメータ:
endFileDir - 終了ファイルディレクトリ