ブローカーは、すべてのメッセージ・フローについて基本的なエラー処理を行います。 基本処理が十分でない場合や、特定のエラー条件やエラー状態に対して特定のアクションを実行したい場合には、 メッセージ・フローを拡張して独自のエラー処理を実行することもできます。
そのために使用できるオプションは、場合によっては非常に複雑になります。 特に、MQeInput ノードと MQInput ノードのために用意されているオプションは多岐にわたります。それらのノードは、持続メッセージやトランザクションも対象にしているからです。 さらに、これらのオプションは、WebSphere MQ の構成オプションの影響も受けます。
どんなエラーについても処理の方法はいろいろあるので、決まった手順をここで取り上げることはできません。 ここでは、エラー処理の原則を示し、使用可能なオプションについて説明します。その詳細情報を参考にしながら、それぞれの状況で必要な選択肢を組み合わせて活用するようにしてください。
メッセージ・フロー内で、これらのオプションのうちの 1 つまたは複数を選択できます。
エラー処理の方法を設計する場合、以下の要因について検討してください。
例外がノード内で検出されると、メッセージと例外の情報がノードの failure ターミナルに伝搬されます。 ノードに failure ターミナルが含まれていない場合や、 ノードが failure ターミナルに接続していない場合は、ブローカーが例外を生成し、 その例外を処理できる入力ノードに制御を戻します。
MQeInput ノードまたは MQinput ノードが内部エラーを検出した場合の動作は多少異なります。 failure ターミナルに接続していない場合、それぞれのノードは、入力キューのバックアウト再キューイング・キューか、 そのキューが定義されていない場合はブローカーのキュー・マネージャーの送達不能キューにメッセージを書き込もうとします。 詳細は、MQeInput のエラー処理 または MQInput のエラー処理 を参照してください。
メッセージが catch ターミナルに伝搬されるのは、 メッセージが最初にその種のノードの先 (out ターミナルに接続しているノードなど) に伝搬された場合に限られます。
エラー処理の一般的な原則は以下のとおりです。
メッセージがトランザクションの一部になっている場合、 例外が MQInput ノードまたは MQeInput ノードの先 (out フローか catch フロー) で生成されて、 メッセージが入力キューに戻ったときに、バックアウト・カウントがバックアウトしきい値に達すると、 やはり fail フローが呼び出されます。
SCADAInput ノードは、catch ターミナルに接続していない状況で例外がそのノードの先で生成されたときに、 メッセージを failure ターミナルに伝搬しません。
関連概念
メッセージ・フロー
メッセージ・フロー・アプリケーションのデプロイメント
関連タスク
サブフローの使用
メッセージ・フローの作成
メッセージ・フローの内容の定義
構成可能プロパティーの編集
関連資料
組み込みノード
WebSphere MQ Enterprise Transport
WebSphere MQ Mobile Transport
WebSphere MQ Multicast Transport
WebSphere MQ Real-time Transport
WebSphere MQ Telemetry Transport
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac00410_ |