RouteToLabel ノード

このトピックには、以下のセクションが含まれています。

目的

メッセージがその内容に応じてメッセージ・フローでとる経路を動的に決定するには、RouteToLabel ノードを 1 つ以上の Label ノードと組み合わせて使用します。 RouteToLabel ノードは、メッセージの LocalEnvironment に問い合わせて、メッセージがルーティングされる必要のある Label ノードの ID を判別します。

メッセージ・フロー内で、RouteToLabel ノードの前には、メッセージの次の処理シーケンスを知らせる 1 つ以上の Label ノードの ID をメッセージの LocalEnvironment に取り込む Compute ノードが存在する必要があります。 宛先は、特定の場所の LocalEnvironment ツリー内のラベル名のリストとしてセットアップされます。 Airline Reservations サンプル (以下にリンクしている) から取られたこの ESQL の抜粋は、Compute ノードに LocalEnvironment の内容をセットアップする方法の例を示しています。

IF InputRoot.XML.PassengerQuery.ReservationNumber<>'' THEN
   SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'SinglePassenger';
ELSE
   SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname = 'AllReservations';
END IF;

ラベル名は、任意のストリング値とすることができ、明示的に Compute ノード内に指定したり、メッセージ内の任意のフィールドから入手またはキャストしたり、データベースから取り出したりすることができます。 LocalEnvironment 内のラベル名は、対応する Label ノードの「ラベル名」プロパティーと一致していなければなりません。

Compute ノードを構成する場合、「計算モード」プロパティーで、ドロップダウン・リストから LocalEnvironment を含む値を選択することも必要です。

RouteToLabel ノードが論理的にメッセージ・フロー内で 1 つ以上の Label ノードの前に置かれるようにメッセージ・フローを設計しますが、物理的に RouteToLabel ノードを Label ノードに接続しないでください。 必要な場合には、LocalEnvironment の内容に応じて、ブローカーが接続を作成します。

ワークベンチでは、RouteToLabel ノードは次のアイコンで表されます。

RouteToLabel ノード・アイコン

メッセージ・フロー内でのこのノードの使用

このノードが使用される方法に関しては、次のサンプルを参照してください。

RouteToLabel ノードの構成

RouteToLabel ノードのインスタンスをメッセージ・フローに入れると、RouteToLabel ノードを構成することができます。 エディター・ビューでノードを右クリックし、「プロパティー」をクリックします。 ノードの基本プロパティーが表示されます。

値を入力する必要のある (デフォルト値が定義されていない) すべての必須プロパティーには、プロパティー・ダイアログにアスタリスクが表示されます。

以下のように、RouteToLabel ノードを構成します。

  1. モード」を設定します。 これは、RouteToLabel ノードがメッセージに関連付けられた LocalEnvironment から宛先を除去する方法を定義します。 以下の 2 つの値のいずれかを設定することができます。
    • 「先頭にルーティング」の場合、LocalEnvironment から最初の項目が除去されます。 現在のメッセージは、そのリスト項目内の labelName で識別される Label ノードにルーティングされます。
    • 「末尾にルーティング」(デフォルト) の場合、LocalEnvironment から最後の項目が除去されます。 現在のメッセージは、そのリスト項目内の labelName で識別される Label ノードにルーティングされます。
  2. 簡略説明または詳細説明 (あるいはその両方) を入力するには、プロパティー・ダイアログ・ナビゲーターの「説明」を選択します。
  3. 「適用」をクリックすると、プロパティー・ダイアログを閉じずに RouteToLabel ノードが変更されます。 「OK」をクリックすると、変更を適用してプロパティー・ダイアログを閉じます。

    「キャンセル」をクリックすると、ダイアログを閉じてプロパティーに対して行った変更をすべて破棄します。

ターミナルおよびプロパティー

RouteToLabel ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
In ノードが処理するメッセージを受け入れる入力ターミナル。
Failure 処理で障害が検出された場合に、メッセージがルーティングされる出力ターミナル。

以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。

RouteToLabel ノードの「基本」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
モード はい いいえ 末尾にルーティング RouteToLabel ノードが現在のメッセージと関連した LocalEnvironment 内部の項目を処理する方法。

RouteToLabel ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac04820_