LocalEnvironment でのスクラッチパッド領域の使用

LocalEnvironment ツリーには、Variables という名前のサブツリーが含まれています。 このサブツリーは必ず作成されますが、メッセージ・フローには決して移植されません。 この領域は、あるノードから別のノードへと情報を受け渡すなどの、独自の目的に使用します。 必要であれば、LocalEnvironment ツリーに他のサブツリーを作成することができます。

LocalEnvironment のスクラッチパッドに独自のデータを作成する利点は、メッセージ・フロー内の後続のノードに、このデータが論理ツリーの一部として伝搬できることです。 Compute ノードに新規出力メッセージを作成する場合には、入力メッセージからの LocalEnvironment ツリーのすべてまたは一部をその新規出力メッセージに含めることもできます。 これを実行したい場合、Compute ノードの「計算モード」プロパティーを、出力ツリーの一部として LocalEnvironment を組み込むように設定する必要があります (例えば、「すべて」 を指定)。 (さらに、出力メッセージに ExceptionList ツリーも組み込みます。「計算モード」の詳細については、Compute ノードを参照してください。)

しかしメッセージ・フローがそのメッセージ・フローに戻る場合には (例えば、例外がスローされる場合、またはメッセージが FlowOrder ノードの第 2 のターミナルを経由して処理される場合)、ノードで更新または追加された任意のデータは保存されません。 独自のデータを作成し、データをメッセージ・フロー全体で保持する場合には、Environment ツリーを使用する必要があります。

Compute ノードの Variables サブツリーに値を設定し、メッセージ・フローを構成する際に定めた特定の目的で他のノード (Compute、Database、または Filter) が後ほど使用するようにできます。

例えば、出力メッセージの宛先を判別するのに使用することもできます。 最初の Compute ノードは、このメッセージ・フローからの出力メッセージが WebSphere MQ キューに到達する経路を判別できます。 次の ESQL を組み込んで、この情報を、Compute ノードがメッセージ・フローの次のノードに送信するメッセージ内の LocalEnvironment スクラッチパッド領域に挿入します。
SET OutputLocalEnvironment.Variables.OutputLocation = 'MQ';

2 番目の Compute ノードは、その入力メッセージからこの情報にアクセスできます。 このノードの ESQL で、相関名 InputLocalEnvironment を使用して、このデータに含まれる入力メッセージ内の LocalEnvironment ツリーを識別します。 「計算モード」を、出力メッセージの LocalEnvironment ツリーを組み込むように設定して、InputLocalEnvironment からのデータを出力メッセージの Destination サブツリーにコピーします。 「宛先モード」プロパティーを「宛先リスト」に設定して、LocalEnvironment ツリー内で作成された宛先リストを使用するように MQOutput ノードを構成します。

DestinationData サブツリー内のエレメントの完全なリストについては、DestinationData サブツリー内のエレメントのデータ・タイプを参照してください。

関連概念
メッセージ・フローの概要
LocalEnvironment ツリー
ESQL の概要
関連タスク
メッセージ・フローの設計
関連資料
Compute ノード
Database ノード
Filter ノード
DestinationData サブツリー内のエレメントのデータ・タイプ
ESQL 参照
SET ステートメント
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 Last updated: 5 01, 2006
ac16870_