WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

複数の出力メッセージの生成

PROPAGATE ステートメントを使用して、Compute ノード内に複数の出力メッセージを生成することができます。 生成する出力メッセージは、同じかまたは異なる内容を持つことができます。 出力メッセージは Compute ノードの 4 つの代替出力ターミナルのいずれか、または Label ノードに送信することもできます。

例えば、Compute ノードで受信される入力メッセージのコピーを 3 つ作成し、その 1 つを Compute ノードの標準 Out ターミナルに、1 つを Compute ノードの最初の代替 Out1 ターミナルに、さらに 1 つを Label ノードの ThirdCopy に送信するには、以下の ESQL をコーディングします。

SET OutputRoot = InputRoot;
PROPAGATE;
SET OutputRoot = InputRoot;
PROPAGATE TO TERMINAL 'out1';
SET OutputRoot = InputRoot;
PROPAGATE TO LABEL 'ThirdCopy';
上述の例で、デフォルトでは PROPAGATE ステートメントが完了するときにノードが出力メッセージ・バッファーを消去し、メモリーを再利用するため、それぞれの PROPAGATE の前に、OutputRoot の内容はリセットされます。 1 つの代替メソッドとして、最初の 2 つの PROPAGATE ステートメント上の出力メッセージを消去しないようにノードに指示し、これによりメッセージを次の宛先へのルーティングに使用可能にします。 このような結果を生成するコードは、次のようになります。
SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE TO TERMINAL 'out1' DELETE NONE;
PROPAGATE TO LABEL 'ThirdCopy';

出力バッファーを初期化しない場合、空のメッセージが生成され、メッセージ・フローがエラーを検出して例外をスローします。

また、伝搬する各出力メッセージごとに、すべての必要なメッセージ・ヘッダーを出力メッセージ・バッファーに確実にコピーします。

各メッセージを伝搬する前に出力メッセージの内容を変更したい場合には、 PROPAGATE ステートメントをコーディングする前に適切な ESQL をコーディングして変更を行ってください。

生成したい最後の出力メッセージの内容をセットアップし、それを Compute ノードの 最後のアクションとして伝搬する場合には、最後の PROPAGATE ステートメントを組み込む必要はありません。 Compute ノードのデフォルトのアクションで、終了する際に出力バッファーの内容が伝搬されます。 この機能は、モジュール・スケルトン内の最後のステートメントとして組み込まれる RETURN TRUE ステートメントによって実装されます。

例えば、入力メッセージのコピーを 3 つ生成し、その後何もアクションを実行しない場合には、そのコードを RETURN TRUE ステートメントの直前に組み込みます。

SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE DELETE NONE;

Alternatively, you can modify the default behavior of the node by changing RETURN TRUE to RETURN FALSE:

SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE DELETE NONE;
PROPAGATE;
RETURN FALSE;

3 つの PROPAGATE ステートメントによって、3 つの出力メッセージが生成されます。 最後の RETURN FALSE ステートメントはノードを終了しますが、最終出力メッセージを伝搬しません。 最終の PROPAGATE ステートメントは、ノードがメモリーをこの段階で解放しなければならないので、DELETE NONE 文節を組み込みません。

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

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:31


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | ac12370_