タイムアウト通知エラーの処理

タイムアウト通知 ノードは、Failure ターミナルと Catch ターミナルが接続されているかどうかに応じて、トランザクション・メッセージのエラーを処理するときにさまざまなアクションを実行します。

  • タイムアウト通知 ノードが内部エラーを検出すると、以下のいずれかのアクションが発生します。
    • Failure ターミナルに接続していない場合:
      1. タイムアウト通知 ノードは、エラーをローカル・エラー・ログに書き込みます。
      2. タイムアウト通知 ノードは、問題が解決されるまで、繰り返し要求の処理を試みます。
    • Failure ターミナルに接続している場合、Failure ターミナルに接続されているフロー内のエラーを処理する責任はユーザーにあります。 統合ノードは例外リストを作成してエラーを表し、これはメッセージ・ツリーの一部として Failure ターミナルに伝搬されます。 タイムアウト通知 ノードおよび統合ノードは、これ以上の障害処理を提供しません。 メッセージは同じトランザクションの一部として Failure ターミナルに書き込まれ、 障害フローがエラーを正常に処理した場合はトランザクションがコミットされます。
  • タイムアウト通知 ノードがメッセージを Out ターミナルに正常に伝搬し、Out ターミナルに接続されているフローで例外がスローされた場合、メッセージは タイムアウト通知 ノードに戻されます。 タイムアウト通知 ノードはエラーをローカル・エラー・ログに書き込み、以下のいずれかのステップを実行します。
    • Catch ターミナルに接続していない場合、 タイムアウト通知 ノードは問題が解決されるまでメッセージの処理を再試行します。
    • Catch ターミナルに接続している場合、Catch ターミナルに接続されているフロー内のエラーを処理する責任はユーザーにあります。 統合ノードは例外リストを作成してエラーを表し、これはメッセージ・ツリーの一部として Catch ターミナルに伝搬されます。 タイムアウト通知 ノードおよび統合ノードは、これ以上の障害処理を提供しません。 メッセージは同じトランザクションの一部として Catch ターミナルに書き込まれ、 Catch ターミナルに接続されたフローがエラーを正常に処理した場合は、トランザクションがコミットされます。
  • タイムアウト通知 ノードが既にメッセージを Catch ターミナルに伝搬しており、Catch ターミナルに接続されているフローで例外がスローされた場合は、メッセージが タイムアウト通知 ノードに返されます。 タイムアウト通知 ノードは、エラーをローカル・エラー・ログに書き込み、メッセージの処理を再試行します。
  • タイムアウト通知 ノードが既にメッセージを Failure ターミナルに伝搬しており、Failure ターミナルに接続されたフローで例外がスローされた場合、メッセージは タイムアウト通知 ノードに戻されます。 タイムアウト通知 ノードはエラーをローカル・エラー・ログに書き込み、メッセージの処理を再試行します。 Catch ターミナルに接続している場合でも、メッセージは Catch ターミナルに伝搬されません。

このアクションについては、以下の表で要約されています。

エラー・イベント Failure ターミナルに接続している Failure ターミナルに接続していない Catch ターミナルに接続している Catch ターミナルに接続していない
ノードが内部エラーを検出する。 Failure ターミナルに接続されているフローがエラーを処理する。 エラーがログに記録され、ノードが処理を再試行する。 適用外 適用外
ノードが Out ターミナルにメッセージを伝搬すると、出力フローで例外が発生する。 適用外 適用外 Catch ターミナルに接続されているフローがエラーを処理する エラーがログに記録され、ノードが処理を再試行する。
ノードが Catch ターミナルにメッセージを伝搬すると、Catch ターミナルに接続されているフローで例外が発生する。 エラーがログに記録され、ノードが処理を再試行する。 エラーがログに記録され、ノードが処理を再試行する。 適用外 適用外
ノードが Failure ターミナルにメッセージを伝搬すると、Failure ターミナルに接続されているフローで例外が発生する。 適用外 適用外 エラーがログに記録され、ノードが処理を再試行する。 エラーがログに記録され、ノードが処理を再試行する。