Environment ツリーは、メッセージがメッセージ・フローを通過する間に情報を保管できる論理メッセージ・ツリーの一部です。
Environment ツリーのルートは、Environment と呼ばれます。 このツリーは、必ず入力メッセージ内に表示されます。 メッセージが入力ノードによって受け取られ解析されるときは、空の Environment ツリーが作成されます。 このツリーを任意に使用することができます。 ツリーの内容と構造の両方を作成できます。
WebSphere Message Broker がこのツリー内の 1 つのフィールドを参照する状況が 1 つあります (その場合でも、フィールドは作成されません)。 メッセージ・フローのアカウンティング・データおよび統計データの収集を要求して、 アカウンティング起点の基本サポートが必要であることを指示した場合には、 ブローカーが Environment.Broker.AccountingOrigin フィールドの存在を検査します。 フィールドが存在する場合、ブローカーはその値を使って現在のデータ・レコードのアカウンティング起点を設定します。 このフィールドの使用方法に関する詳細は、メッセージ・フローのアカウンティングおよび統計のアカウンティング起点の設定 を参照してください。(ブローカーがいくつかの状況で使用するLocalEnvironment ツリー構造と比較してください。)
Environment ツリーは、その単一のインスタンスがメッセージ・フローを通じて保守される LocalEnvironment ツリーとは異なります。 メッセージ・フロー内に Compute ノードを組み込む場合、 Environment ツリーを出力メッセージ内に組み込むかどうかを指定する必要はありません。 これは、自動的に行われ、入力 Environment ツリーの内容全体は、出力 Environment ツリー内に保存され、 ノードで ESQL を使用して加える変更に従います。 加える変更は、メッセージ・フロー内の後続のノードに、およびメッセージ・フローが戻る場合には前のノードに (例えば、FlowOrder または TryCatch ノードに) 適用されます。
Variables と呼ばれるサブツリー内の Environment ツリー内に情報を作成することをお勧めします (これは強制ではありません)。
以下に、Environment ツリーの例を示します。
上記に示されている内容を作成するには、以下の ESQL ステートメントを使用することができます。
SET Environment.Variables = ROW('granary' AS bread, 'riesling' AS wine, 'stilton' AS cheese); SET Environment.Variables.Colors[] = LIST{'yellow', 'green', 'blue', 'red', 'black'}; SET Environment.Variables.Country[] = LIST{ROW('UK' AS name, 'pound' AS currency), ROW('USA' AS name, 'dollar' AS currency)};
メッセージ・フローの処理が完了すると、Environment ツリーは廃棄されます。