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