ESQL-Variablen können als externe Variablen, normale Variablen oder gemeinsam genutzte Variablen beschrieben werden; ihre Verwendung wird in der Anweisung DECLARE definiert.
ESQL-Variablennamen
Es können nur Namen verwendet werden, die den ESQL-Regeln entsprechen. Diese Namen dürfen daher nur
alphanumerische Zeichen und Unterstriche (_) enthalten, das erste Zeichen darf kein numerisches Zeichen sein und die Namen müssen aus mindestens
einem Zeichen bestehen.
Sie können diese Einschränkungen umgehen, indem Sie Namen, die diesen Regeln nicht entsprechen, in Anführungszeichen setzen.
Variablentypen
- Extern
- Externe Variablen (definiert durch das Schlüsselwort EXTERNAL) werden auch benutzerdefinierte Eigenschaften genannt (Details hierzu unter Benutzerdefinierte Eigenschaften in ESQL). Sie existieren über den gesamten Lebenszyklus eines Nachrichtenflusses und sind für alle Nachrichten, die den Fluss durchlaufen, sichtbar. Externe Variablen können nur auf Modul- und Schemaebene definiert werden. Sie können ihre Anfangswerte (optional festgelegt durch die DECLARE-Anweisung) durch die Verwendung des Nachrichtenflusseditors oder, während der Implementierung, mit dem Brokerarchiveditor ändern.
Mit dem Message Broker-API (auch als CMP-API bekannt) können Sie die Werte der benutzerdefinierten Eigenschaften während der Ausführung abfragen und festlegen. Weitere Informationen hierzu finden Sie unter Benutzerdefinierte Nachrichtenflusseigenschafen zur Ausführungszeit in einer Konfigurationsmanager-Proxy-Anwendung festlegen.
- Normal
- Normale Variablen haben eine Lebensdauer von nur einer Nachricht, die einen Knoten durchläuft, und sind nur für diese Nachricht sichtbar. Übergehen Sie bei der Definition einer normalen Variablen die Schlüsselwörter EXTERNAL und SHARED.
- Gemeinsam
- Gemeinsame Variablen (durch das Schlüsselwort SHARED definiert) können zur Implementierung eines Speichercaches in den Nachrichtenfluss verwendet werden; weitere Informationen finden Sie im Abschnitt Reaktionszeiten von Nachrichtenflüssen optimieren). Gemeinsame Variablen haben eine lange Lebensdauer und sind für mehrere Nachrichten sichtbar, die den Nachrichtenfluss durchlaufen; weitere Informationen finden Sie im Abschnitt Langlebige Variablen. Sie bestehen für die Lebensdauer des Prozesses der Ausführungsgruppe, für die Lebensdauer des Flusses oder Knotens oder für die Lebensdauer der SQL des Knotens, welche die Variable deklariert (immer die kürzeste Lebensdauer). Sie werden initialisiert, wenn die erste Nachricht nach jeder Broker-Initialisierung den Fluss oder Knoten durchläuft.
Lesen Sie auch die Hinweise zur Option ATOMIC der BEGIN ... END-Anweisung. Das Konstrukt BEGIN ATOMIC ist nützlich, wenn mehrere Änderungen an einer gemeinsamen Variablen vorgenommen werden und der Zwischenstatus der Daten für andere Instanzen nicht sichtbar sein soll.