このトピックには、以下のセクションが含まれています。
メッセージがその内容に応じてメッセージ・フローでとる経路を動的に決定するには、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 ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | 処理で障害が検出された場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表でノードのプロパティーを説明します。M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、プロパティー・ダイアログにアスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを bar ファイルに追加してデプロイするとき、値を変更できます)。
RouteToLabel ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
モード | はい | いいえ | 末尾にルーティング | RouteToLabel ノードが現在のメッセージと関連した LocalEnvironment 内部の項目を処理する方法。 |
RouteToLabel ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |