Eine benutzerdefinierte Eigenschaft (user-defined property =UDP) ist eine Eigenschaft, die bei der Erstellung eines Nachrichtenflusses im Nachrichtenflusseditor definiert wird. Diese Eigenschaft kann vom ESQL-Programm in Nachrichtenflussknoten (z. B. in Rechenknoten) verwendet werden. Sie kann auch als Java-Eigenschaft in den von einem Java-Rechenknoten erstellten Java-Prozessen verwendet werden.
UDPs haben den Vorteil, dass Administratoren ihre Werte bei der Implementierungszeit ändern können. Eine Änderung Ihrer Anwendungsprogramme ist nicht erforderlich. Wenn Sie beispielsweise UDPs zum Implementieren von Daten Ihres Rechners verwenden möchten, können Sie während der Implementierung einen Nachrichtenfluss für eine bestimmte Maschine, Task oder Umgebung konfigurieren, ohne den Code auf Nachrichtenknotenebene ändern zu müssen.
Wenn Sie den Nachrichtenflusseditor starten, um einen Nachrichtenfluss zu erstellen oder einen vorhandenen Nachrichtenfluss zu ändern, können Sie die Knoten festlegen, die im Nachrichtenfluss erforderlich sind. Des Weiteren haben Sie die Möglichkeit (über die Registerkarte), für einige benutzerdefinierte Eigenschaften Anfangswerte zu definieren und zuzuordnen. Klicken Sie im unteren Bereich des Editorfensters auf die Registerkarte 'Benutzerdefinierte Eigenschaften'. Weitere Informationen hierzu finden Sie im Abschnitt Nachrichtenflusseditor.
Eine UDP muss nicht nur im Nachrichtenflusseditor definiert werden, sondern in allen ESQL-Programmen bzw. Java-Rechenknoten, in denen die UDP verwendet wird, und zwar über eine DECLARE-Anweisung mit dem Schlüsselwort EXTERNAL oder unter Verwendung der Methode 'getUserDefinedAttribute'.
Weitere Informationen zur DECLARE-Anweisung finden Sie im Abschnitt DECLARE-Anweisung. Unter Aus dem Java-Rechenknoten auf benutzerdefinierte Eigenschaften zugreifen finden Sie Informationen zur Verwendung einer UDP im Java-Rechenknoten.
Die Werte, die Sie einer UDP zuordnen, wenn Sie sie in einem Nachrichtenfluss definieren, setzen die entsprechenden Variablenwerte in Ihrem ESQL- bzw. Java-Programm außer Kraft.
Der Wert einer UDP kann auch zum Implementierungszeitpunkt geändert werden. Verwenden Sie hierzu den BAR-Editor zur Bearbeitung der BAR-Datei. Dieser Wert überschreibt alle Werte, die bei der Definition des Nachrichtenflusses zugeordnet wurden.
Jede UDP in einem Nachrichtenfluss muss einen Wert haben, der ihr bei der Deklaration der UDP oder durch den Nachrichtenfluss- bzw. den BAR-Editor zugewiesen wurde; andernfalls tritt während der Implementierung ein Fehler auf. Nachdem die UDP deklariert wurde, kann ihr Wert während der Ausführung von nachfolgenden Programmanweisungen abgefragt, aber nicht geändert werden.
Der Wert der UDP wird in der Nachrichtenflussebene festgelegt und ist für alle berechtigten Knoten im Nachrichtenfluss identisch. Ein "berechtigter Knoten" unterstützt UDPs und befindet sich im Gültigkeitsbereich der Deklaration, durch die die UDP in Ihrer Anwendung deklariert wird. Wenn Sie z. B. mit dem Nachrichtenflusseditor den Wert einer Benutzereigenschaft namens "timezone" (Zeitzone) ändern, die im Schema "mySchema" (MeinSchema) in einem Nachrichtenfluss namens "myFlow" (MeinFluss) deklariert ist, ist die UDP bei Laufzeit für alle Knoten in myFlow (MeinFluss) verfügbar, die UDPs unterstützen und in das Schema mySchema (MeinSchema) fallen.
Genauso stehen bei der Verwendung des Nachrichtenflusseditors zum Ändern des Werts einer benutzerdefinierten Eigenschaft in einem untergeordneten Nachrichtenfluss die neu bearbeiteten Eigenschaften allen Knoten im untergeordneten Nachrichtenfluss zur Verfügung, die UDPs unterstützen und sich im Gültigkeitsbereich der Deklaration befinden. Den Knoten im übergeordneten Nachrichtenfluss stehen sie nicht zur Verfügung.