Nodo RouteToLabel

Questo argomento contiene le seguenti sezioni:

Scopo

Utilizzare il nodo RouteToLabel insieme a uno o più nodi Label per stabilire in modo dinamico l'instradamento che prende un messaggio attraverso il flusso di messaggi, in base al relativo contenuto. Il nodo RouteToLabel interroga la struttura LocalEnvironment del messaggio per stabilire l'identificativo del nodo Label a cui instradare il messaggio.

E' necessario fare precedere il nodo RouteToLabel nel flusso di messaggi da un nodo Compute che popola la struttura LocalEnvironment del messaggio con gli identificativi di uno o più nodi Label che introducono la sequenza successiva di elaborazione per il messaggio. Le destinazioni sono impostate come elenco dei nomi etichetta nella struttura ad albero LocalEnvironment in una ubicazione specifica. Questo estratto di ESQL dall'esempio Prenotazioni per compagnie aeree (collegamento riportato nella sezione successiva) fornisce un esempio di come impostare il contenuto di LocalEnvironment in un nodo Compute:

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;

I nomi etichetta possono essere rappresentati da qualsiasi valore di stringa e possono essere specificati esplicitamente nel nodo Compute, estratti o sottoposti a cast da un campo qualsiasi nel messaggio o richiamati da un database. Un nome etichetta nella struttura LocalEnvironment deve corrispondere alla proprietà Nome etichetta di un nodo Label corrispondente.

Quando si configura un nodo Compute, è necessario selezionare anche un valore per la proprietà Modalità di calcolo dall'elenco a discesa che include LocalEnvironment.

Progettare il flusso di messaggi in modo che un nodo RouteToLabel preceda logicamente uno o più nodi Label all'interno di un flusso di messaggi, ma non collegare fisicamente il nodo RouteToLabel ad un nodo Label. La connessione è effettuata dal broker, quando richiesto, in base al contenuto di LocalEnvironment.

Il nodo RouteToLabel è rappresentato nel workbench dalla seguente icona:

Icona del nodo RouteToLabel

Utilizzo di questo nodo in un flusso di messaggi

Fare riferimento al seguente esempio per capire come utilizzare questo nodo:

Configurazione del nodo RouteToLabel

Una volta inserita un'istanza del nodo RouteToLabel in un flusso di messaggi, è possibile configurarla. Fare clic con il tasto destro del mouse sul nodo nella vista dell'editor e fare clic su Proprietà. Vengono visualizzate le proprietà base del nodo.

Tutte le proprietà obbligatorie, per le quali è necessario immettere un valore (quelle per le quali non è specificato un valore predefinito), sono contrassegnate con un asterisco nella finestra di dialogo delle proprietà.

Configurare il nodo RouteToLabel come segue:

  1. Impostare Modalità. Questa opzione definisce come il nodo RouteToLabel rimuove le destinazioni dalla struttura LocalEnvironment associata al messaggio. E' possibile impostare uno dei seguenti valori:
    • Instrada verso il primo rimuove il primo elemento dalla struttura LocalEnvironment. Il messaggio corrente è instradato al nodo Label identificato da labelName in quella voce di elenco.
    • Instrada verso l'ultimo (valore predefinito) rimuove l'ultimo elemento dalla struttura LocalEnvironment. Il messaggio corrente è instradato al nodo Label identificato da labelName in quella voce di elenco.
  2. Selezionare Descrizione nel Navigator della finestra di dialogo delle proprietà per immettere una descrizione breve, una descrizione completa o entrambe.
  3. Fare clic su Applica per effettuare le modifiche al nodo RouteToLabel senza chiudere la finestra di dialogo delle proprietà. Fare clic su OK per applicare le modifiche e chiudere la finestra di dialogo delle proprietà.

    Fare clic su Annulla per chiudere la finestra di dialogo ed eliminare tutte le modifiche apportate alle proprietà.

Terminali e proprietà

I terminali del nodo RouteToLabel sono descritti nella seguente tabella.

Terminale Descrizione
In Il terminale di input che accetta un messaggio affinché venga elaborato dal nodo.
Failure Il terminale di output a cui è instradato il messaggio se si rileva un errore durante l'elaborazione.

Le seguenti tabelle descrivono le proprietà del nodo; la colonna con l'intestazione O indica se la proprietà è obbligatoria (contrassegnata con un asterisco nella finestra di dialogo delle proprietà, se è necessario immettere un valore quando non è specificato un valore predefinito), la colonna con l'intestazione C indica se la proprietà è configurabile (è possibile modificare il valore quando si aggiunge un flusso di messaggi a un file bar per distribuirlo).

Le proprietà base del nodo RouteToLabel sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Modalità No Instrada verso l'ultimo Indica il modo in cui il nodo RouteToLabel elabora gli elementi nella struttura LocalEnvironment associata al messaggio corrente

Le proprietà Descrizione del nodo RouteToLabel sono descritte nella seguente tabella.

Proprietà O C Valore predefinito Descrizione
Descrizione breve No No   Una breve descrizione del nodo.
Descrizione completa No No   Testo che descrive lo scopo del nodo nel flusso di messaggi.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac04820_