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