okuyama.base.job
クラス AbstractJob

java.lang.Object
  上位を拡張 java.lang.Thread
      上位を拡張 okuyama.base.job.AbstractJob
すべての実装されたインタフェース:
java.lang.Runnable
直系の既知のサブクラス:
ConnectionPoolJob, DataConsistencyAdjustmentJob, HttpGatewayServerJob, KeyManagerJob, KeyNodeDataOptimizationJob, KeyNodeWatchJob, MasterConfigurationManagerJob, MasterManagerJob, MethodPatterTestJob, NodeStatusChangeJob, QueueClientTestJob, ServerManagedJob, TestJob, TransactionManagerJob, TriggerManagerJob

public abstract class AbstractJob
extends java.lang.Thread

Jobの基底クラス.

作成者:
T.Okuyama

入れ子のクラスの概要
 
クラス java.lang.Thread から継承された入れ子のクラス/インタフェース
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
フィールドの概要
static java.lang.String END
           
static java.lang.String ERR
           
protected static java.lang.String ERROR
           
protected  JobConfigMap jobConfigMap
           
static java.lang.String RUN
           
protected  java.lang.String status
           
protected static java.lang.String SUCCESS
           
static java.lang.String WAIT
           
 
クラス java.lang.Thread から継承されたフィールド
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
コンストラクタの概要
AbstractJob()
          コンストラクタ
 
メソッドの概要
protected  void addHelperQueueParam(java.lang.Object[] params)
          キューに対する追加メソッド.
protected  void addSpecificationParameterQueue(java.lang.String helperName, java.lang.Object[] params)
          キューに対する追加メソッド.
protected  void createUniqueHelperParamQueue(java.lang.String helperName, int size)
          オリジナルのキュー領域を作成する.
protected  int executeHelper(java.lang.String helperName, java.lang.Object[] helpreParams)
          Helperクラスインスタンスを返す.
protected  int executeHelper(java.lang.String helperName, java.lang.Object[] helpreParams, boolean reboot)
          Helperクラスインスタンスを返す.
protected  int executeHelper(java.lang.String helperName, java.lang.Object[] helpreParams, boolean reboot, java.lang.Object[] inputHelperShareParam)
          Helperクラスインスタンスを返す.
protected  int executeHelperQueue(java.lang.String helperName, java.lang.Object[] helpreParams)
          Helperクラスインスタンスを返す.
protected  int executeHelperQueue(java.lang.String helperName, java.lang.Object[] helpreParams, java.lang.Object[] inputHelperShareParam)
          Helperクラスインスタンスを返す.
abstract  java.lang.String executeJob(java.lang.String optionParam)
          executeJob.
 int getActiveHelperCount(java.lang.String helperName)
          指定のHelperの実行中の数を返す
 java.lang.String getHelperStatus(int code)
          Helperのステータスを返す
 java.lang.String getJobName()
          自身の名前を返す
 java.lang.Object getJobShareParam(java.lang.Object key)
          Job間で共有する値を取得する.
 java.lang.Object[] getJobShareParamKeys()
          Job間で共有する値のキー一覧を返す.
protected  java.lang.String getPostProcess()
          PostProcessの戻り値を返す.
protected  java.lang.String getPreProcess()
          PreProcessの戻り値を返す.
protected  java.lang.String getPropertiesValue(java.lang.String key)
          Job設定ファイルの自由に設定出来る値を取得する.
 java.lang.String getStatus()
          自身のステータスを返す
abstract  void initJob(java.lang.String initValue)
          initJob.
protected  boolean isJobFileChange()
          Job設定ファイルの変更をチェック.
protected  void reloadJobFileParameter(java.lang.String[] keys)
          Job設定ファイルの指定のキー値を再読み込みする.
 java.lang.Object removeHelperReturnParam(int code)
          Helperの戻り値を返す.
 void run()
          メイン実行部分.
 void setConfig(JobConfigMap jobConfigMap)
          自身の設定情報格納.
 void setJobShareParam(java.lang.Object key, java.lang.Object val)
          Job間で共有する値をセットする.
 void setPostProcess(java.lang.String postProcessRet)
          PostProcessの値をセット.
 void setPreProcess(java.lang.String preProcessRet)
          PreProcessの返り値値をセット.
 java.lang.Object[] waitGetHelperReturnParam(int helperCode, int limitTime)
          Helperの戻り値を返す.
 
クラス java.lang.Thread から継承されたメソッド
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

WAIT

public static java.lang.String WAIT

RUN

public static java.lang.String RUN

ERR

public static java.lang.String ERR

END

public static java.lang.String END

SUCCESS

protected static java.lang.String SUCCESS

ERROR

protected static java.lang.String ERROR

status

protected java.lang.String status

jobConfigMap

protected JobConfigMap jobConfigMap
コンストラクタの詳細

AbstractJob

public AbstractJob()
コンストラクタ

メソッドの詳細

setConfig

public void setConfig(JobConfigMap jobConfigMap)
自身の設定情報格納.

パラメータ:
jobConfigMap - Job設定情報

initJob

public abstract void initJob(java.lang.String initValue)
initJob.
ユーザJob実装部分.

パラメータ:
initValue -

executeJob

public abstract java.lang.String executeJob(java.lang.String optionParam)
                                     throws BatchException
executeJob.
ユーザJob実装部分.

パラメータ:
optionParam -
戻り値:
String 実行結果
例外:
BatchException

run

public void run()
メイン実行部分.
自身のサブクラスを実行.
実行順序はinitJob - executeJob.

定義:
インタフェース java.lang.Runnable 内の run
オーバーライド:
クラス java.lang.Thread 内の run

executeHelperQueue

protected int executeHelperQueue(java.lang.String helperName,
                                 java.lang.Object[] helpreParams,
                                 java.lang.Object[] inputHelperShareParam)
                          throws BatchException
Helperクラスインスタンスを返す.
Helperが存在しない場合はExceptionを返す.

パラメータ:
helperName - helperName名
helpreParams - helperパラメータ配列
inputHelperShareParam - ヘルパー共有領域に事前に登録したいパラメータ Key-Valueのセットで配列登録すること(inputHelperShareParam[0]=1番目の要素のKey,inputHelperShareParam[1]=1番目の要素のValue,inputHelperShareParam[2]=2番目の要素のKey,inputHelperShareParam[3]=2番目の要素のValue)
戻り値:
AbstractHelper Helperインスタンス
例外:
BatchException

executeHelperQueue

protected int executeHelperQueue(java.lang.String helperName,
                                 java.lang.Object[] helpreParams)
                          throws BatchException
Helperクラスインスタンスを返す.
Helperが存在しない場合はExceptionを返す.

パラメータ:
helperName - helperName名
helpreParams - helperパラメータ配列
戻り値:
AbstractHelper Helperインスタンス
例外:
BatchException

createUniqueHelperParamQueue

protected void createUniqueHelperParamQueue(java.lang.String helperName,
                                            int size)
                                     throws java.lang.Exception
オリジナルのキュー領域を作成する.

例外:
java.lang.Exception

addSpecificationParameterQueue

protected void addSpecificationParameterQueue(java.lang.String helperName,
                                              java.lang.Object[] params)
                                       throws java.lang.Exception
キューに対する追加メソッド.
キュー指定あり.

例外:
java.lang.Exception

addHelperQueueParam

protected void addHelperQueueParam(java.lang.Object[] params)
                            throws java.lang.Exception
キューに対する追加メソッド.
全共通キュー.

例外:
java.lang.Exception

executeHelper

protected int executeHelper(java.lang.String helperName,
                            java.lang.Object[] helpreParams)
                     throws BatchException
Helperクラスインスタンスを返す.
Helperが存在しない場合はExceptionを返す.

パラメータ:
helperName - helperName名
helpreParams - helperパラメータ配列
戻り値:
AbstractHelper Helperインスタンス
例外:
BatchException

executeHelper

protected int executeHelper(java.lang.String helperName,
                            java.lang.Object[] helpreParams,
                            boolean reboot)
                     throws BatchException
Helperクラスインスタンスを返す.
Helperが存在しない場合はExceptionを返す.

パラメータ:
helperName - helperName名
helpreParams - helperパラメータ配列
戻り値:
AbstractHelper Helperインスタンス
例外:
BatchException

executeHelper

protected int executeHelper(java.lang.String helperName,
                            java.lang.Object[] helpreParams,
                            boolean reboot,
                            java.lang.Object[] inputHelperShareParam)
                     throws BatchException
Helperクラスインスタンスを返す.
Helperが存在しない場合はExceptionを返す.

パラメータ:
helperName - helperName名
helpreParams - helperパラメータ配列
inputHelperShareParam - ヘルパー共有領域に事前に登録したいパラメータ Key-Valueのセットで配列登録すること(inputHelperShareParam[0]=1番目の要素のKey,inputHelperShareParam[1]=1番目の要素のValue,inputHelperShareParam[2]=2番目の要素のKey,inputHelperShareParam[3]=2番目の要素のValue)
戻り値:
AbstractHelper Helperインスタンス
例外:
BatchException

getPropertiesValue

protected java.lang.String getPropertiesValue(java.lang.String key)
Job設定ファイルの自由に設定出来る値を取得する.
設定情報が存在しない場合はnullを返す.

パラメータ:
key - 設定情報のキー名
戻り値:
String ユーザ設定パラメータ

isJobFileChange

protected boolean isJobFileChange()
                           throws BatchException
Job設定ファイルの変更をチェック.

戻り値:
boolean 変更有無
例外:
BatchException

reloadJobFileParameter

protected void reloadJobFileParameter(java.lang.String[] keys)
                               throws BatchException
Job設定ファイルの指定のキー値を再読み込みする.

パラメータ:
String[] - キー値
例外:
BatchException

getStatus

public java.lang.String getStatus()
自身のステータスを返す

戻り値:
String ステータス文字列

getHelperStatus

public java.lang.String getHelperStatus(int code)
Helperのステータスを返す

パラメータ:
hashCode - Helperのコード
戻り値:
String ステータス文字列

getActiveHelperCount

public int getActiveHelperCount(java.lang.String helperName)
指定のHelperの実行中の数を返す

パラメータ:
hashName - Helper名
戻り値:
int 実行中の数

removeHelperReturnParam

public java.lang.Object removeHelperReturnParam(int code)
                                         throws BatchException
Helperの戻り値を返す.
本メソットで値が取得できるのは1度のみ.
対象Helperが終了していない状態で本クラスを呼び出すとBatchExceptionがthrowされる.
必ずgetHelperStatusメソッドで終了を確認してから呼び出すこと.
実装例)Jobクラス内で呼び出し int helperCode = executeHelper("TestHelper",new {"param"}); Object helperRet = null; // Helperからの戻り値を取得する System.out.println("Helper End Wait Start"); while(true) { System.out.println("Wait..."); if (super.getHelperStatus(helperCode).equals(BatchDefine.JOB_STATUS_END)) { helperRet = super.removeHelperReturnParam(helperCode); break; } if (super.getHelperStatus(helperCode).equals(BatchDefine.JOB_STATUS_ERR)) { break; } // 100ミリ停止 Thread.sleep(100); } System.out.println(helperRet);

パラメータ:
hashCode - Helperのコード
戻り値:
Object 戻り値
例外:
BatchException

waitGetHelperReturnParam

public java.lang.Object[] waitGetHelperReturnParam(int helperCode,
                                                   int limitTime)
                                            throws BatchException
Helperの戻り値を返す.
本メソットで値が取得できるのは1度のみ.
本メソッドはHelperが終了もしくはエラーになるまで待ち、その後値を返す.
返却値はObjectの配列で1番目の要素がステータスとなり、2番目の要素が
返却値となる.
ERRORステータスの場合値はnullとなる.
HelperPoolが終了の値を回収するのに10秒のタイムラグがある為、10秒以上は停止するべきである.

パラメータ:
hashCode - Helperのコード
limitTile - リターン値が指定秒以内に返却されない場合はnullを返す.
指定は秒.
戻り値:
Object[] 1番目の要素がステータス、2番目の要素が返却値
例外:
BatchException

getJobName

public java.lang.String getJobName()
自身の名前を返す

戻り値:
String Job名文字列

setJobShareParam

public void setJobShareParam(java.lang.Object key,
                             java.lang.Object val)
Job間で共有する値をセットする.

パラメータ:
key - キー値
val - 値

getJobShareParam

public java.lang.Object getJobShareParam(java.lang.Object key)
Job間で共有する値を取得する.
存在しない場合はNullを返す.

パラメータ:
key - キー値
戻り値:
Object 値

getJobShareParamKeys

public java.lang.Object[] getJobShareParamKeys()
Job間で共有する値のキー一覧を返す.

戻り値:
Object[] キー値配列

setPreProcess

public void setPreProcess(java.lang.String preProcessRet)
PreProcessの返り値値をセット.

パラメータ:
preProcessRet - PreProcessの返り値

setPostProcess

public void setPostProcess(java.lang.String postProcessRet)
PostProcessの値をセット.

パラメータ:
postProcessRet - PostProcessの返り値

getPreProcess

protected java.lang.String getPreProcess()
PreProcessの戻り値を返す.

戻り値:
String PreProcessの戻り値

getPostProcess

protected java.lang.String getPostProcess()
PostProcessの戻り値を返す.
PostProcessは全てのJobが終了してから呼び出されるので、
この値は、reloopをtrueにした場合に前回処理のPostProcessの戻り値が取得可能となる

戻り値:
String PostProcessの戻り値