Variabili ESQL

Una variabile ESQL è un campo di dati utilizzato per consentire di elaborare un messaggio.

E' necessario dichiarare una variabile e stabilirne il tipo prima di poter utilizzarla. Un tipo di dati della variabile è fisso; se si crea un codice ESQL che assegna un valore di un tipo diverso, viene implementata una conversione implicita al tipo di dati della destinazione oppure viene generata un'eccezione (se la conversione implicita non è supportata).

Per definire una variabile ed assegnare un nome, utilizzare l'istruzione DECLARE.
Nota: I nomi delle variabili ESQL sono sensibili al maiuscolo/minuscolo, per cui è importante utilizzare le lettere maiuscole o minuscole corrette in ciascun punto. Il modo più semplice per garantire il rispetto di tale regola è quello di definire sempre le variabili utilizzando nomi in maiuscolo.
Message Broker Toolkit indica le variabili non definite mediante dei contrassegni di avvertenza. Rimuovere tali contrassegni di avvertenza prima di distribuire un flusso di messaggi.

E' possibile assegnare un valore iniziale alla variabile nell'istruzione DECLARE. Se non viene specificato un valore iniziale, le variabili scalari vengono inizializzate con il valore speciale NULL mentre le variabili ROW vengono inizializzate in uno stato vuoto. Successivamente, è possibile modificare il valore della variabile utilizzando l'istruzione SET.

Sono disponibili tre tipi di nodi integrati che possono contenere codice ESQL e, quindi, supportare l'utilizzo delle variabili ESQL:

Condivisione, durata ed ambito della variabile

L'estensione e la durata della disponibilità di una particolare variabile ESQL sono definite dall'ambito, dalla durata e dalla condivisione della variabile:

L'ambito della variabile è una misurazione dell'intervallo di visibilità della variabile. Nell'ambiente broker, l'ambito delle variabili è generalmente limitato al nodo.

La durata della variabile è l'intervallo di tempo durante il quale la variabile conserva il proprio valore. Nell'ambiente broker, la durata di una variabile varia ma è generalmente limitata alla durata di un thread all'interno di un nodo.

Le caratteristiche di condivisione della variabile indicano se ciascun thread possiede una propria copia della variabile oppure se la variabile è condivisa tra più thread. Nell'ambiente broker, generalmente le variabili non sono condivise.

Tipi di variabile

E' possibile utilizzare l'Istruzione DECLARE per definire tre tipi di variabile:
Esterna
Le variabili esterne (definite con la parola chiave EXTERNAL) sono dette anche UPD (user-defined properties): consultare UDP (User-defined property) in ESQL. Esistono per l'intera durata di un flusso di messaggi e sono visibili per tutti i messaggi che attraversano il flusso. Il valore iniziale (facoltativamente impostato dall'istruzione DECLARE) può essere modificato, al momento della progettazione, mediante l'editor Flusso di messaggi oppure, al momento della distribuzione, dall'editor di BAR. I valori delle variabili non possono essere modificati da ESQL.
Normale
Le variabili "normali" hanno la durata di un messaggio che attraversa un nodo. Sono visibili solo per quel messaggio. Per definire una variabile "normale", omettere le parole chiave EXTERNAL e SHARED.
Condivisa
Le variabili condivise possono essere utilizzate per implementare una cache in memoria nel flusso di messaggi. Consultare Ottimizzazione dei tempi di riposta del flusso di messaggi. Le variabili condivise hanno una durata elevata e sono visibili per più messaggi che attraversano un flusso; consultare Variabili a lunga durata. Esse esistono per la durata del processo del gruppo di esecuzione, la durata del flusso o del nodo o la durata del codice SQL del nodo che dichiara la variabile (qualunque sia la più breve). Sono inizializzate quando il primo messaggio passa attraverso il flusso o il nodo dopo l'avvio di ciascun broker.

Consultare anche l'opzione ATOMIC in Istruzione BEGIN ... END. La struttura BEGIN ATOMIC è utile quando è necessario apportare un numero di modifiche ad una variabile condivisa ed è importante per evitare che altre istanze vedano gli stati intermedi dei dati.

Per informazioni relative ai tipi di variabile specifici, consultare:
Concetti correlati
UDP (User-defined property) in ESQL
Variabili a lunga durata
Panoramica dei flussi di messaggi
Attività correlate
Sviluppo di flussi di messaggi
Sviluppo di ESQL
Riferimenti correlati
Nodi integrati
Nodo Compute
Nodo Database
Nodo Filter
Istruzione DECLARE
Istruzione BEGIN ... END
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ak01010_