|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.batch.restart.JobRestartTableHandler
public class JobRestartTableHandler
リスタート情報取得・更新用クラス。
jobRestart-sqlMap.xml
に定義された以下のSQL
文を実行する。
<!-- リスタート情報更新(更新) -->
<update id="UPDATE_JOB_RESTART_POINT" parameterClass="jobRestartInfo">
UPDATE RESTART_CONTROL SET
RESTART_POINT = #restartPoint# ,
JOB_CONTEXT = #jobContext#,
STATE = #state#,
UPDATE_TIME = current_timestamp
WHERE REQUEST_NO = #requestNo#
AND JOB_ID = #jobId#
AND PARTITION_NO = #partitionNo#
</update>
<!-- リスタート情報更新(新規追加) -->
<insert id="INSERT_JOB_RESTART_POINT" parameterClass="jobRestartInfo">
INSERT INTO RESTART_CONTROL
(REQUEST_NO , JOB_ID , PARTITION_NO , PARTITION_KEY , RESTART_POINT , JOB_CONTEXT , STATE , UPDATE_TIME , REGISTER_TIME)
VALUES(#requestNo# , #jobId# , #partitionNo# , #partitionKey# , #restartPoint# , #jobContext# , #state# , current_timestamp , current_timestamp)
</insert>
※リスタート情報クリア用SQLは以下の二つから選択することが出来る。
※デフォルトSQLは対象データ削除である。
<!-- リスタート情報クリア(処理完了後対象データの状態更新) -->
<update id="UPDATE_JOB_RESTART_CLEAR" parameterClass="jobRestartInfo">
UPDATE RESTART_CONTROL SET
STATE = #state# ,
UPDATE_TIME = current_timestamp
WHERE REQUEST_NO = #requestNo#
AND JOB_ID = #jobId#
AND PARTITION_NO = #partitionNo#
</update>
<!-- リスタート情報クリア(処理完了後対象データ削除) -->
<delete id="UPDATE_JOB_RESTART_CLEAR" parameterClass="jobRestartInfo">
DELETE FROM RESTART_CONTROL
WHERE REQUEST_NO = #requestNo#
AND JOB_ID = #jobId#
AND PARTITION_NO = #partitionNo#
</delete>
<!-- リスタート依頼情報取得 -->
<select id="SELECT_JOB_RESTART_INFO" parameterClass="jobRestartInfo" resultClass="jobRestartInfo">
SELECT REQUEST_NO AS requestNo,
JOB_ID as jobId,
PARTITION_KEY as partitionKey,
RESTART_POINT as restartPoint,
JOB_CONTEXT as jobContext,
STATE as state,
UPDATE_TIME,
REGISTER_TIME as registerTime
FROM RESTART_CONTROL
WHERE REQUEST_NO = #requestNo#
AND JOB_ID = #jobId#
AND PARTITION_NO = #partitionNo#
AND STATE = #state#
</select>
フィールドの概要 | |
---|---|
private static java.lang.String |
INSERT_JOB_RESTART_POINT
リスタート情報更新(新規追加)用SQLキー。 |
private static java.lang.String |
JOB_END_STATE
リスタート処理状況:処理完了。 |
private static java.lang.String |
JOB_START_STATE
リスタート処理状況:起動中。 |
private JobRestartInfoFactory |
jobRestartInfoFactory
ジョブリスタート情報格納用Object。 |
private QueryDAO |
queryDAO
SELECT用DAO。 |
private static java.lang.String |
UPDATE_JOB_RESTART_POINT
リスタート情報更新(更新)用SQLキー。 |
private UpdateDAO |
updateDAO
UPDATE用DAO。 |
コンストラクタの概要 | |
---|---|
JobRestartTableHandler()
|
メソッドの概要 | |
---|---|
protected JobContext |
changeByteToJobContext(byte[] obj)
byte 配列をジョブコンテキストオブジェクトに変換する。 |
protected byte[] |
changeJobContextToByte(JobContext jobContext)
ジョブコンテキストオブジェクトを byte 配列に変換する。 |
JobContext |
getRestartJobContext(JobContext jobContext,
JobStatus jobStatus)
ジョブコンテキスト復元処理。 |
protected void |
initJobRestartInfo(JobRestartInfo jobRestartInfo,
JobContext jobContext,
JobStatus jobStatus)
ジョブ処理状況、ジョブコンテキストのデータを更新対象のリスタート情報へ 設定する。 |
private int |
insertRestartPoint(JobRestartInfo jobRestartInfo)
リスタート情報の「起動状況」更新用メソッド。 |
void |
registerRestartPoint(JobContext jobContext,
JobStatus jobStatus)
リスタートポイント更新処理。 |
int |
restartPointClear(JobStatus jobStatus,
java.lang.String sqlkey)
リスタート情報のクリア処理用メソッド(レコード更新)。 |
void |
setJobRestartInfoFactory(JobRestartInfoFactory jobRestartInfoFactory)
ジョブリスタート情報格納用実装クラスのファクトリを設定する。 |
void |
setQueryDAO(QueryDAO queryDAO)
SELECT用DAOのセッター。 |
void |
setUpdateDAO(UpdateDAO updateDAO)
更新用DAOのセッター。 |
private int |
updateRestartPoint(JobRestartInfo jobRestartInfo)
リスタート情報の「起動状況」更新用メソッド。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private static final java.lang.String JOB_END_STATE
private static final java.lang.String JOB_START_STATE
private static final java.lang.String INSERT_JOB_RESTART_POINT
private static final java.lang.String UPDATE_JOB_RESTART_POINT
private JobRestartInfoFactory jobRestartInfoFactory
private QueryDAO queryDAO
private UpdateDAO updateDAO
コンストラクタの詳細 |
---|
public JobRestartTableHandler()
メソッドの詳細 |
---|
public JobContext getRestartJobContext(JobContext jobContext, JobStatus jobStatus)
jobContext
- ジョブコンテキストjobStatus
- ジョブステータス
public void registerRestartPoint(JobContext jobContext, JobStatus jobStatus)
jobStatus
- ジョブの状況jobContext
- ジョブコンテキストpublic void setJobRestartInfoFactory(JobRestartInfoFactory jobRestartInfoFactory)
jobRestartInfoFactory
- ジョブリスタート情報格納用クラスのファクトリpublic void setQueryDAO(QueryDAO queryDAO)
queryDAO
- SELECT用DAOpublic void setUpdateDAO(UpdateDAO updateDAO)
updateDAO
- 更新用DAOpublic int restartPointClear(JobStatus jobStatus, java.lang.String sqlkey)
jobStatus
- ジョブ処理状況sqlkey
- リスタート情報のクリア用SQLキー
protected void initJobRestartInfo(JobRestartInfo jobRestartInfo, JobContext jobContext, JobStatus jobStatus)
jobRestartInfo
- 更新対象のリスタート情報jobContext
- ジョブコンテキストjobStatus
- ジョブ処理状況protected byte[] changeJobContextToByte(JobContext jobContext)
byte
配列に変換する。
jobContext
- ジョブコンテキスト
protected JobContext changeByteToJobContext(byte[] obj)
byte
配列をジョブコンテキストオブジェクトに変換する。
obj
- 変換対象のObject
private int insertRestartPoint(JobRestartInfo jobRestartInfo)
jobRestartInfo
- 更新対象のリスタート情報
private int updateRestartPoint(JobRestartInfo jobRestartInfo)
jobRestartInfo
- 更新対象のリスタート情報
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |