環境ツリーは、メッセージがメッセージ・フローを通過する間に情報を保管できる論理メッセージ・ツリーの一部です。
環境ツリーのルートは、Environment と呼ばれます。 このツリーは、必ず入力メッセージ内に表示されます。メッセージが入力ノードによって受け取られ解析されるときは、空の環境ツリーが作成されます。 このツリーを任意に使用することができます。 ツリーの内容と構造の両方を作成できます。
WebSphere® Message Broker は 2 つの状況でのみ、環境ツリー内のフィールドを使用します。 (ブローカーが多くの状況で使用するローカル環境のツリー構造と比較してください。)
環境ツリーは、その単一のインスタンスがメッセージ・フローを通じて保守されるローカル環境ツリーとは異なります。 メッセージ・フロー内に Compute ノード、Mapping ノード、または JavaCompute ノードを組み込む場合、環境ツリーを出力メッセージ内に組み込むかどうかを指定する必要はありません。 環境ツリーは自動的に組み込まれ、入力環境ツリーの内容全体は、出力環境ツリー内に保存され、ノードで加えた変更に従います。 加える変更は、メッセージ・フロー内の後続のノードに、およびメッセージ・フローが戻る場合には前のノードに (例えば、FlowOrder または TryCatch ノードに) 適用されます。
独自の情報を作成する場合、環境ツリー内の Variables という名前のサブツリー内に作成します。
以下の図に、環境ツリーの例を示します。
上記に示されている内容を作成するには、以下の 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 ツリーは廃棄されます。