Package nablarch.fw.handler
Class RetryHandler
java.lang.Object
nablarch.fw.handler.RetryHandler
リトライ可能な例外を捕捉した場合に後続ハンドラの処理をリトライするハンドラ。
Retryable
インタフェースを実装した例外をリトライ可能な例外と判断する。
リトライ処理の制御はRetryHandler.RetryContext
を実装したクラスに委譲する。
RetryHandler.RetryContext
を実装したクラスはRetryHandler.RetryContextFactory
から取得するので、
本クラスを使用する場合はRetryHandler.RetryContextFactory
オブジェクトをプロパティに設定すること。- Author:
- Kiyohito Itoh
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
リトライ処理を制御するインタフェース。static interface
リトライコンテキストを生成するインタフェース。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionhandle
(Object data, ExecutionContext context) 入力データに対する処理を実行する。void
setDestroyReader
(boolean destroyReader) リトライ時にExecutionContext
上に設定されたDataReader
を破棄するか否かを設定する。。void
setRetryContextFactory
(RetryHandler.RetryContextFactory retryContextFactory) リトライコンテキストを生成するRetryHandler.RetryContextFactory
オブジェクトを設定する。void
setRetryLimitExceededExitCode
(int retryLimitExceededExitCode) リトライ上限を超えた場合に使用する終了コード(プロセスを終了(System.exit(int)
)する際に設定する値)を設定する。void
setRetryLimitExceededFailureCode
(String retryLimitExceededFailureCode) リトライ上限を超えた場合に使用する障害コードを設定する。
-
Constructor Details
-
RetryHandler
public RetryHandler()
-
-
Method Details
-
handle
入力データに対する処理を実行する。 リトライ対象でない例外を捕捉した場合は、補足した例外を再送出する。
リトライ可能な例外を捕捉した場合、かつリトライ上限を超えていない場合は 後続ハンドラの処理をリトライする。 リトライ可能な例外を捕捉した場合、かつリトライ上限を超えている場合はretryLimitExceededExitCode
プロパティとretryLimitExceededFailureCode
プロパティを使用してProcessAbnormalEnd
を送出する。 -
setDestroyReader
public void setDestroyReader(boolean destroyReader) リトライ時にExecutionContext
上に設定されたDataReader
を破棄するか否かを設定する。。 本設定値にtrue
を設定した場合、リトライ時にExecutionContext
上に設定されたDataReader
を破棄(削除)する。 これにより、後続ハンドラでDataReader
が再生成される。- Parameters:
destroyReader
- リトライ時にリーダを破棄するか否か
-
setRetryContextFactory
リトライコンテキストを生成するRetryHandler.RetryContextFactory
オブジェクトを設定する。- Parameters:
retryContextFactory
- リトライコンテキストを生成するRetryHandler.RetryContextFactory
オブジェクト
-
setRetryLimitExceededExitCode
public void setRetryLimitExceededExitCode(int retryLimitExceededExitCode) リトライ上限を超えた場合に使用する終了コード(プロセスを終了(System.exit(int)
)する際に設定する値)を設定する。- Parameters:
retryLimitExceededExitCode
- リトライ上限を超えた場合に使用する終了コード(プロセスを終了(System.exit(int)
)する際に設定する値)
-
setRetryLimitExceededFailureCode
リトライ上限を超えた場合に使用する障害コードを設定する。- Parameters:
retryLimitExceededFailureCode
- リトライ上限を超えた場合に使用する障害コード
-