メッセージ・ツリー構造

メッセージ・ツリーは、ブローカーがメッセージ本体の内部表記を保管する論理メッセージ・ツリーの一部です。

メッセージ・ツリーのルートは Root と呼ばれています。 メッセージ・ツリーは常に表示され、メッセージ・フローの単一インスタンス内でノードからノードに渡されます。

メッセージ・ツリーには、メッセージ本体に加え、メッセージ内に表示されるすべてのヘッダーが含まれています。 また、プロパティー・サブツリーがパーサーによって作成された場合、ツリーにはプロパティー・サブツリー (パーサーで説明されている) も組み込まれています。 提供されているパーサーがメッセージ・ツリーを作成した場合、 プロパティー・サブツリーを表すエレメントの後には 0 個以上のヘッダーが続きます。

メッセージが WebSphere® MQ Enterprise TransportWebSphere MQ Mobile Transport、または WebSphere MQ Telemetry Transport を経て受信された場合、最初のヘッダー (2 番目のエレメント) は MQMD でなければなりません。 メッセージ内に組み込まれるすべての追加のヘッダーは、メッセージ内の順序と同じ順序でツリー内に表示されます。 メッセージ・ツリーのルートの下の最後のエレメントは、必ずメッセージ本体です。

ユーザー定義のパーサーがメッセージ・ツリーを作成した場合、もしあれば、プロパティー・ツリーの後にメッセージ本体が続きます。

以下に、メッセージ・ツリー構造を示します。 入力メッセージが WebSphere MQ メッセージでない場合、表示されているヘッダーは存在しない場合があります。 このツリーを作成したパーサーがユーザー定義のパーサーである場合、 プロパティー・ツリーは存在しない場合があります。

WebSphere MQ を使用するトランスポートを経て受信されるメッセージの入力ノードおよびパーサーによって作成されるメッセージ・ツリー構造。

本文ツリーとは、メッセージ内容 (データ) を表し、その内容の論理構造を反映している子エレメントの構造 (以下で説明されています) のことです。 本文ツリーは、パーサーに説明されているように、本文パーサー (提供されているパーサーまたはユーザー定義のパーサーのどちらか) によって作成されます。

解析されたツリー内の各エレメントは、以下の 3 つのタイプのうちいずれかです。

名前エレメント
名前エレメントには、エレメントの名前であるストリングが関連付けられています。 名前エレメントの例として XMLElement があります。 これについては、XML エレメントで説明しています。 また、名前エレメントには、エレメントのネーム・スペースである 2 番目のストリングが関連付けられています。このストリングは、空である場合があります。
値エレメント
値エレメントには、値が関連付けられています。 値エレメントの例として XMLContent があります。 これについては、XML contentで説明しています。
名前値エレメント
名前値エレメントは、名前エレメントに値エレメント以外は何も含まれていない場合の最適化されたエレメントです。 このエレメントには、名前と値の両方が含まれています。 名前値エレメントの例として XMLAttribute があります。 これについては、XML 属性で説明しています。

メッセージ・ツリーへの移植方法についての詳細は、メッセージ・ツリーの移植方法を参照してください。

プロパティー・フォルダー

「プロパティー」フォルダーは、メッセージ・ツリーの最初のエレメントであり、メッセージの特性に関する情報を保持します。

「プロパティー」フォルダーのルートは、Properties と呼ばれています。 それは Root の下の最初のエレメントです。組み込みパーサーによって生成されるすべてのメッセージ・ツリーは、メッセージ用の「プロパティー」フォルダーを備えています。 ユーザー独自のユーザー定義パーサーを作成する場合には、パーサーが「プロパティー」フォルダーを作成するかどうかを選択することができます。 しかしながら、一貫性を考慮して、ユーザー定義パーサーにこのアクションを組み込む必要があります。

「プロパティー」フォルダーには、一連の標準プロパティーが入っており、これは他のプロパティーと同様にメッセージ・フロー・ノードで操作できます。 これらのフィールドの一部はサポートされている WebSphere MQ ヘッダー内のフィールドにマップされ (もし存在するなら)、メッセージが 1 つのノードから他のノードに送達されるときに適切なパーサーに渡されます。

例えば、MQRFH2 ヘッダーには、メッセージ・セット、メッセージ・タイプ、およびメッセージ形式に関する情報が入っています。 これらの値は MessageSet、MessageType、および MessageFormat として「プロパティー」フォルダーに保管されます。 メッセージ処理ノードで ESQL または Java を使用してこれらの値にアクセスするには、派生元ヘッダー内のフィールドを直接参照するのではなく、「プロパティー」フォルダーの値を参照します。

プロパティー・パーサーは、各ノードへの入力と、各ノードからの出力について、ヘッダー・フィールドの値が、「プロパティー」フォルダーの値と一致するようにします。 どのフィールドでも、1 つのヘッダーのみ (プロパティー・ヘッダーまたは特定のメッセージ・ヘッダー) を変更すると、その値が使用されます。 プロパティー・ヘッダーと特定のメッセージ・ヘッダーの両方を変更すると、プロパティー・フォルダーの値が使用されます。

メッセージ・フロー処理が完了すると、「プロパティー」フォルダーは廃棄されます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:52

ac12610_