Package nablarch.fw.action
Class BatchActionBase<D>
java.lang.Object
nablarch.core.db.support.DbAccessSupport
nablarch.fw.action.BatchActionBase<D>
- Type Parameters:
D
- 本タスクが処理する入力データの型
- All Implemented Interfaces:
ExecutionHandlerCallback<CommandLine,
,Result> TransactionEventCallback<D>
- Direct Known Subclasses:
BatchAction
,FileBatchActionBase
public abstract class BatchActionBase<D>
extends DbAccessSupport
implements ExecutionHandlerCallback<CommandLine,Result>, TransactionEventCallback<D>
バッチ処理方式において、業務処理が継承する抽象基底クラス。
このクラスには、
ExecutionHandlerCallback
インタフェースに関するNOP実装が与えられており、
必要に応じてオーバーライドできるようになっている。- Author:
- Iwauo Tajima
-
Nested Class Summary
Nested classes/interfaces inherited from interface nablarch.fw.TransactionEventCallback
TransactionEventCallback.Provider<TData>
-
Field Summary
Fields inherited from interface nablarch.fw.TransactionEventCallback
REQUEST_DATA_REQUEST_SCOPE_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
error
(Throwable error, ExecutionContext context) 実行時例外/エラーの発生によって本処理が終了した場合に一度だけ実行される。final void
errorInExecution
(Throwable error, ExecutionContext context) 実行制御ハンドラが後続処理を実行した後、 後続のハンドラでエラーが発生した場合に呼ばれる。protected void
initialize
(CommandLine command, ExecutionContext context) 実行管理ハンドラ(nablarch.fw.handler.ExecutionHandler<TData,
)の本処理開始前に一度だけ実行される。TResult, TSelf extends nablarch.fw.handler.ExecutionHandler> final void
postExecution
(Result result, ExecutionContext context) 実行制御ハンドラが後続処理を実行した後、正常、異常終了を問わず 処理が全て完了した直後に呼ばれる。 すなわち、正常終了時には、 の後、異常終了時にはExecutionHandlerCallback.errorInExecution(Throwable, ExecutionContext)
の後で本メソッドが呼ばれる。final void
preExecution
(CommandLine commandLine, ExecutionContext context) 実行制御ハンドラが後続処理を実行する前にコールバックされる。 一括処理実行前に、なんらかの初期処理を行う場合に実装する。protected void
terminate
(Result result, ExecutionContext context) 本処理が終了した場合に一度だけ実行される。 (エラー終了した場合でも実行される。)void
transactionAbnormalEnd
(Throwable e, D data, ExecutionContext ctx) 入力データに対する処理で異常が発生した場合に呼ばれる。protected void
transactionFailure
(D inputData, ExecutionContext context) トランザクション処理が異常終了した場合に実行される。void
transactionNormalEnd
(D data, ExecutionContext ctx) 入力データに対する処理が正常に処理された場合に呼ばれる。protected void
transactionSuccess
(D inputData, ExecutionContext context) トランザクション処理が正常終了した場合に実行される。protected void
writeErrorLog
(Object data, String failureCode, Object... msgOptions) ERRORレベルで障害ログ出力を行う。protected void
writeFatalLog
(Object data, String failureCode, Object... msgOptions) FATALレベルで障害ログ出力を行う。protected void
INFOレベルでログ出力を行う。Methods inherited from class nablarch.core.db.support.DbAccessSupport
countByParameterizedSql, countByStatementSql, getParameterizedSqlStatement, getParameterizedSqlStatement, getSqlCStatement, getSqlPStatement, search
-
Constructor Details
-
BatchActionBase
public BatchActionBase()
-
-
Method Details
-
initialize
実行管理ハンドラ(nablarch.fw.handler.ExecutionHandler<TData,
)の本処理開始前に一度だけ実行される。 デフォルトでは何もしない。 必要に応じてオーバライドすること。TResult, TSelf extends nablarch.fw.handler.ExecutionHandler> - Parameters:
command
- 起動コマンドラインcontext
- 実行コンテキスト
-
error
実行時例外/エラーの発生によって本処理が終了した場合に一度だけ実行される。 デフォルトでは何もしない。 必要に応じてオーバライドすること。- Parameters:
error
- 本処理で発生した実行時例外/エラーcontext
- 実行コンテキスト
-
terminate
本処理が終了した場合に一度だけ実行される。 (エラー終了した場合でも実行される。) デフォルトでは何もしない。 必要に応じてオーバライドすること。- Parameters:
result
- 本処理の実行結果context
- 実行コンテキスト
-
transactionSuccess
トランザクション処理が正常終了した場合に実行される。 デフォルトでは何もしない。 必要に応じてオーバライドすること。- Parameters:
inputData
- 入力データcontext
- 実行コンテキスト
-
transactionFailure
トランザクション処理が異常終了した場合に実行される。 デフォルトでは何もしない。 必要に応じてオーバライドすること。- Parameters:
inputData
- 入力データcontext
- 実行コンテキスト
-
writeLog
INFOレベルでログ出力を行う。- Parameters:
msgId
- メッセージIDmsgOptions
- メッセージIDから取得したメッセージに埋め込む値
-
writeErrorLog
ERRORレベルで障害ログ出力を行う。 障害ログは、障害通知ログと障害解析ログの2種類に分けて出力される。- Parameters:
data
- 処理対象データfailureCode
- 障害コード(メッセージID)msgOptions
- 障害コードから取得したメッセージに埋め込む値
-
writeFatalLog
FATALレベルで障害ログ出力を行う。 障害ログは、障害通知ログと障害解析ログの2種類に分けて出力される。- Parameters:
data
- 処理対象データfailureCode
- 障害コード(メッセージID)msgOptions
- 障害コードから取得したメッセージに埋め込む値
-
preExecution
@Published(tag="architect") public final void preExecution(CommandLine commandLine, ExecutionContext context) Description copied from interface:ExecutionHandlerCallback
実行制御ハンドラが後続処理を実行する前にコールバックされる。 一括処理実行前に、なんらかの初期処理を行う場合に実装する。- Specified by:
preExecution
in interfaceExecutionHandlerCallback<CommandLine,
Result> - Parameters:
commandLine
- 入力データcontext
- 実行コンテキスト
-
errorInExecution
@Published(tag="architect") public final void errorInExecution(Throwable error, ExecutionContext context) Description copied from interface:ExecutionHandlerCallback
実行制御ハンドラが後続処理を実行した後、 後続のハンドラでエラーが発生した場合に呼ばれる。- Specified by:
errorInExecution
in interfaceExecutionHandlerCallback<CommandLine,
Result> - Parameters:
error
- 後続ハンドラの処理中に発生した実行時例外/エラーcontext
- 実行コンテキスト
-
postExecution
@Published(tag="architect") public final void postExecution(Result result, ExecutionContext context) Description copied from interface:ExecutionHandlerCallback
実行制御ハンドラが後続処理を実行した後、正常、異常終了を問わず 処理が全て完了した直後に呼ばれる。 すなわち、正常終了時には、 の後、異常終了時にはExecutionHandlerCallback.errorInExecution(Throwable, ExecutionContext)
の後で本メソッドが呼ばれる。- Specified by:
postExecution
in interfaceExecutionHandlerCallback<CommandLine,
Result> - Parameters:
result
- ハンドラの戻り値となるオブジェクトcontext
- 実行コンテキスト
-
transactionNormalEnd
Description copied from interface:TransactionEventCallback
入力データに対する処理が正常に処理された場合に呼ばれる。- Specified by:
transactionNormalEnd
in interfaceTransactionEventCallback<D>
- Parameters:
data
- 入力データctx
- 実行コンテキスト
-
transactionAbnormalEnd
@Published(tag="architect") public void transactionAbnormalEnd(Throwable e, D data, ExecutionContext ctx) Description copied from interface:TransactionEventCallback
入力データに対する処理で異常が発生した場合に呼ばれる。- Specified by:
transactionAbnormalEnd
in interfaceTransactionEventCallback<D>
- Parameters:
e
- 発生したエラーdata
- 入力データctx
- 実行コンテキスト
-