例外リスト・ツリーは、メッセージ・フローがメッセージを処理する際に発生する例外に関する情報を書き込む、論理メッセージ・ツリーの一部です。
例外リスト・ツリーのルートは ExceptionList と呼ばれ、ツリーはゼロ個以上の例外記述のセットから構成されます。 例外リスト・ツリーは、例外が発生した場合に、メッセージ・フローによって移植されます。 メッセージ・フローの処理中に例外条件が発生しない場合には、そのメッセージに関連した例外リストは、ルート・エレメントのみから構成されます。 このリストは、実際には、例外の空のリストです。
例外リスト・ツリーは、例外の発生後にメッセージを受信する、メッセージ・フロー内の他のノードがアクセスすることができます。 アウトバウンド・メッセージ・ツリーを変更するためのインターフェースを設けているノード (Compute ノードなど) のみで例外リスト・ツリーの内容を変更できます。
例外条件が発生した場合、メッセージ処理は中断され、例外がスローされます。 制御は高位、つまりエンクロージング・キャッチ・ブロックに戻されます。 障害条件を記述する例外リストが作成され、メッセージ全体がローカル環境ツリーおよび新たに移植された例外リストと共に、例外処理メッセージ・フロー・パスを介して伝搬します。
以下の図に、リカバリー可能な例外の例外リスト・ツリーの構造を示します。
例外記述構造は、例外リスト・ツリーを生成するために、反復やネストが可能です。 このツリーでは、
ツリー内の子は、例外の詳細を与える多数の名前値エレメント、および Insert という名前のゼロ個以上の名前エレメントの形式を取ります。 名前値エレメントで識別される、NLS (各国語サポート) メッセージ番号は、 WebSphere® Message Broker エラー・メッセージを識別します。 Insert 値を使用して、このメッセージ内の変数を置換し、例外の原因の詳細を提供します。
上の図に示された例外リスト内の名前値エレメントを、以下の表で説明します。
名前 | タイプ | 説明 | |
---|---|---|---|
File1 | ストリング | C++ ソース・ファイル名 | |
Line1 | 整数 | C++ ソース・ファイル行番号 | |
Function1 | ストリング | C++ ソース関数名 | |
Type2 | ストリング | ソース・オブジェクト・タイプ | |
Name2 | ストリング | ソース・オブジェクト名 | |
Label2 | ストリング | ソース・オブジェクト・ラベル | |
Text1 | ストリング | 非 NLS テキスト (オプション) | |
Catalog3 | ストリング | NLS メッセージ・カタログ名 4 | |
Severity3 | 整数 | 1 = 通知 |
|
Number3 | 整数 | NLS メッセージ番号 4 | |
Insert3 | タイプ | 整数 | 値のデータ・タイプ 0 = 不明 |
テキスト | ストリング | データ値 |
メッセージ・フローの処理が完了すると、例外リスト・ツリーは廃棄されます。
サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。