TimeoutNotification ノードは、トランザクション・メッセージのエラーを扱う際に、
以下の処置を行います。
非トランザクション・メッセージで検出されるエラーは、入力ノードにあるエラーの管理で説明されているとおりに処理されます。
- TimeoutNotification ノードが内部エラーを検出した場合、以下の処置の 1 つを行います。
- Failure ターミナルに接続していない場合、以下が生じます。
- TimeoutNotification ノードはエラーをローカル・エラー・ログに書き込みます。
- TimeoutNotification ノードは、問題が解決するまで要求の処理を繰り返し試行します。
- Failure ターミナルに接続している場合、Failure ターミナルに接続されているフロー内のエラーを処理する責任はユーザーにあります。
ブローカーは、そのエラーを表す新規の ExceptionList を作成し、
そのリストをメッセージ・ツリーの一部として Failure ターミナルに伝搬しますが、
TimeoutNotification ノードとブローカーはいずれもそれ以上の障害処理を行いません。
メッセージは同じトランザクションの一部として Failure ターミナルに書き込まれ、
障害フローがエラーを正常に処理した場合はトランザクションがコミットされます。
- TimeoutNotification ノードがメッセージを正常に Out ターミナルに伝搬した後で、
Out ターミナルに接続されたフローに例外がスローされると、メッセージは TimeoutNotification ノードに戻されます。
TimeoutNotification ノードはエラーをローカル・エラー・ログに書き込み、以下の 1 つを行います。
- Catch ターミナルに接続していない場合、その問題が解決されるまで、
TimeoutNotification ノードはそのメッセージの処理を再試行します。
- Catch ターミナルに接続している場合、Catch ターミナルに接続されているフロー内のエラーを処理する責任はユーザーにあります。
ブローカーは、そのエラーを表す新規の ExceptionList を作成し、
そのリストをメッセージ・ツリーの一部として Catch ターミナルに伝搬しますが、
TimeoutNotification ノードとブローカーはいずれもそれ以上の障害処理を行いません。
メッセージは同じトランザクションの一部として Catch ターミナルに書き込まれ、
Catch ターミナルに接続されたフローがエラーを正常に処理した場合は、トランザクションがコミットされます。
- TimeoutNotification ノードがメッセージをすでに Catch ターミナルに伝搬した後で、
Catch ターミナルに接続されたフローに例外がスローされると、メッセージは TimeoutNotification ノードに戻されます。
TimeoutNotification ノードはエラーをローカル・エラー・ログに書き込み、メッセージの処理を再試行します。
- TimeoutNotification ノードがメッセージをすでに Failure ターミナルに伝搬した後で、
Failure ターミナルに接続されたフローに例外がスローされると、メッセージは TimeoutNotification ノードに戻されます。
TimeoutNotification ノードはエラーをローカル・エラー・ログに書き込み、メッセージの処理を再試行します。Catch ターミナルに接続している場合でも、メッセージは Catch ターミナルに伝搬されません。
このアクションについては、以下の表で要約されています。
エラー・イベント |
Failure ターミナルに接続している |
Failure ターミナルに接続していない |
Catch ターミナルに接続している |
Catch ターミナルに接続していない |
ノードは内部エラーを検出する |
Failure ターミナルに接続されているフローがエラーを処理する |
エラーがログに記録され、ノードは再試行する |
適用外 |
適用外 |
ノードがメッセージを out ターミナルに伝搬すると、out フローで例外が発生する |
適用外 |
適用外 |
Catch ターミナルに接続されているフローがエラーを処理する |
エラーがログに記録され、ノードは再試行する |
ノードがメッセージを Catch ターミナルに伝搬すると、Catch ターミナルに接続されているフローで例外が発生する |
エラーがログに記録され、ノードは再試行する |
エラーがログに記録され、ノードは再試行する |
適用外 |
適用外 |
ノードがメッセージを Failure ターミナルに伝搬すると、Failure ターミナルに接続されているフローで例外が発生する |
適用外 |
適用外 |
エラーがログに記録され、ノードは再試行する |
エラーがログに記録され、ノードは再試行する |