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- oder Java-Programm innerhalb von Nachrichtenflussknoten verwendet werden (z. B. in Compute-Knoten).
UDPs haben den Vorteil, dass Administratoren ihre Werte bei der Implementierungs- und Ausführungszeit ä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 einen bestimmten Computer, eine 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 finden Sie unter Nachrichtenflusseditor.
Eine UDP muss nicht nur im Nachrichtenflusseditor definiert werden, sondern in allen ESQL-Programmen bzw. JavaCompute-Knoten, 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 JavaCompute-Knoten auf benutzerdefinierte Eigenschaften zugreifen finden Sie Informationen zur Verwendung einer UDP im JavaCompute-Knoten.
Die Werte, die Sie einer UDP zuordnen, wenn Sie sie in einem Nachrichtenfluss definieren, setzen die entsprechenden Variablenwerte in Ihrem ESQL-Programm außer Kraft.
Der Wert einer UDP kann auch zum Implementierungszeitpunkt geändert werden. Verwenden Sie hierzu den Brokerarchiveditor zum Bearbeiten 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 steht die Eigenschaft nicht zur Verfügung.