Sie können auf benutzerdefinierte Eigenschaften (User-defined properties, UDPs) als Variablen in Ihrem ESQL-Programm zugreifen, indem Sie das Schlüsselwort EXTERNAL in einer DECLARE-Anweisung angeben. So wird mit der ESQL-Anweisung DECLARE today EXTERNAL CHARACTER 'monday' beispielsweise die benutzerdefinierte Eigenschaft 'today' mit dem Ausgangswert 'monday' definiert.
Eine benutzerdefinierte Eigenschaft kann erst verwendet werden, wenn die Eigenschaft über den Nachrichtenflusseditor auch bei der Erstellung eines Nachrichtenflusses definiert wurde, der diese Eigenschaft verwendet. Bei der Definition einer UDP über den Nachrichtenflusseditor werden auch ein Wert und ein Eigenschaftstyp definiert. Bei dem Wert kann es sich um einen Standardwert handeln, der je nach UDP-Typ variiert. Der Wert, der der UDP im Nachrichtenflusseditor zugewiesen wird, hat Vorrang gegenüber allen anderen Werten, die der UDP im ESQL-Programm zugeordnet wurden.
Vor der Implementierung des Nachrichtenflusses, der die UDP verwendet, kann der Wert der UDP über den Brokerarchiveditor geändert werden. Beim Versuch, einen Nachrichtenfluss mit einer UDP zu implementieren, der kein Wert zugeordnet wurde, kommt es zu einem Implementierungsfehler. Der Abschnitt Nachrichtenfluss zur Implementierungszeit mit benutzerdefinierten Eigenschaften konfigurieren enthält weitere Informationen hierzu.
Mithilfe von UDPs können Sie Konfigurationsdaten einfach festlegen und sie wie typische Konstanten verwenden. Da weder externe Aufrufe benutzerdefinierter Plug-Ins beteiligt sind noch ein Parsing von Umgebungsbaumstrukturen involviert ist, ist der ESQL-Code einfacher zu schreiben und zu pflegen und lässt sich besser ausführen. Zudem entfallen die Parsing-Kosten für das Herauslesen der Daten aus den Bäumen. Der Wert der benutzerdefinierten Eigenschaft wird bei der Implementierung in der Variablen markiert, damit ein rascherer Zugriff möglich ist.
UDPs können nur in Modulen oder Schemas deklariert werden.
Eine Beschreibung des Zugriffs auf eine UDP aus einem JavaCompute-Knoten finden Sie unter Aus dem JavaCompute-Knoten auf benutzerdefinierte Eigenschaften zugreifen.