Sie können in einem ESQL-Programm auf benutzerdefinierte Eigenschaften (UDPs) als Variablen zugreifen, indem Sie in einer DECLARE-Anweisung das Schlüsselwort EXTERNAL angeben. So wird mit der ESQL-Anweisung DECLARE today EXTERNAL CHARACTER 'monday' beispielsweise die benutzerdefinierte Eigenschaft today mit dem Ausgangswert monday definiert.
Damit eine benutzerdefinierte Eigenschaft verwendet werden kann, muss sie bei der Erstellung des Nachrichtenflusses, der diese Eigenschaft verwendet, im Nachrichtenflusseditor definiert werden. Zur Definition einer UDP im Nachrichtenflusseditor müssen Sie einen Wert und den Eigenschaftentyp angeben. Bei dem Wert kann es sich um einen Standardwert handeln, der je nach UDP-Typ variiert. Der im Nachrichtenflusseditor zugewiesene Wert der UDP hat Vorrang vor einem Wert, der der UDP im ESQL-Programm zugewiesen wird.
Sie können eine UDP auch für einen untergeordneten Nachrichtenfluss definieren. UDPs sind global und gelten nicht für einen bestimmten untergeordneten Nachrichtenfluss. Bei Wiederverwendung eines untergeordneten Nachrichtenflusses in einem Nachrichtenfluss, dessen untergeordnete Nachrichtenflüsse identische UDPs haben, ist es nicht möglich, andere Werte für die UDPs anzugeben.
Der Wert einer UDP kann vor der Implementierung des Nachrichtenflusses, der diese UDP verwendet, im Brokerarchiveditor geändert werden. Wird ein Nachrichtenfluss mit einer UDP implementiert, der kein Wert zugeordnet wurde, schlägt die Implementierung fehl. Der Abschnitt Nachrichtenfluss zur Implementierungszeit mit benutzerdefinierten Eigenschaften konfigurieren enthält weitere Informationen hierzu.
Mit UDPs können Sie Konfigurationsdaten festlegen und diese wie ganz normale Eigenschaften verwenden. Es sind keine externen Aufrufe von benutzerdefinierten Plug-ins oder das Parsing von Umgebungsbäumen involviert, und die Parsing-Kosten für das Herauslesen der Daten aus den Bäumen entfallen. Der Wert einer benutzerdefinierten Eigenschaft wird bei der Implementierung in der Variablen ermittelt und festgeschrieben.
UDPs können nur in Modulen oder Schemas deklariert werden. Sie können UDPs während der Laufzeit abfragen und deren Werte ermitteln und festlegen. Auf diese Weise können Sie das Verhalten eines Nachrichtenflusses dynamisch ändern. Der Abschnitt Benutzerdefinierte Eigenschaften enthält weitere Informationen hierzu.
Eine Beschreibung des Zugriffs auf eine UDP aus einem JavaCompute-Knoten finden Sie unter Über einen JavaCompute-Knoten auf benutzerdefinierte Nachrichtenflusseigenschaften zugreifen.