メッセージがその内容に応じてメッセージ・フローでとる経路を動的に決定するには、 RouteToLabel ノードを 1 つ以上の Label ノードと組み合わせて使用します。
このトピックには、以下のセクションが含まれています。
RouteToLabel ノードは、 メッセージの LocalEnvironment に問い合わせて、メッセージがルーティングされる必要のある Label ノードの ID を判別します。
メッセージ・フロー内で、RouteToLabel ノードの前には、 メッセージの次の処理シーケンスを知らせる 1 つ以上の Label ノードの ID を メッセージの LocalEnvironment に取り込む Compute ノードが存在する必要があります。 宛先は、特定の場所の LocalEnvironment ツリー内のラベル名のリストとしてセットアップされます。 Airline Reservations サンプルから取られたこの ESQL の抜粋は、 Compute ノードに LocalEnvironment の内容をセットアップする方法の例を示しています。
IF InputRoot.XMLNSC.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 ノードのターミナルについては、次の表に説明されています。
ターミナル | 説明 |
---|---|
In | ノードが処理するメッセージを受け入れる入力ターミナル。 |
Failure | 処理で障害が検出された場合に、メッセージがルーティングされる出力ターミナル。 |
以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力することが必要なら、アスタリスクのマークが付きます)。 C の見出しの列は、プロパティーが構成可能 かどうかを示します (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できます)。
RouteToLabel ノードの「説明」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
ノード名 | いいえ | いいえ | ノード・タイプ: RouteToLabel | ノードの名前。 |
簡略説明 | いいえ | いいえ | ノードの簡単な説明 | |
詳細説明 | いいえ | いいえ | メッセージ・フロー内のノードの目的を説明するテキスト |
RouteToLabel ノードの「基本」プロパティーについては、次の表に説明されています。
プロパティー | M | C | デフォルト | 説明 |
---|---|---|---|---|
モード | はい | いいえ | 末尾にルーティング | このプロパティーは、RouteToLabel ノードが現在のメッセージと関連付けられている LocalEnvironment 内部の項目を処理する方法を制御します。
有効な値は以下のとおりです。
|