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.
Weitere Informationen zur DECLARE-Anweisung finden Sie im Abschnitt DECLARE-Anweisung. Unter Über einen JavaCompute-Knoten auf benutzerdefinierte Nachrichtenflusseigenschaften zugreifen finden Sie Informationen zur Verwendung einer UDP im JavaCompute-Knoten.
Wenn Sie ESQL für den Zugriff auf UDPs verwenden, setzen die Werte, die Sie einer UDP zuordnen, wenn Sie sie in einem Nachrichtenfluss definieren, 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 den Wert, der bei der Definition des Nachrichtenflusses zugeordnet wurde.
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.
Sie können benutzerdefinierte Eigenschaften während der Ausführung abfragen, erkennen und festlegen, um das Verhalten eines Nachrichtenflusses dynamisch zu ändern. Mit der Message Broker-API (auch als CMP-API bezeichnet) oder mit dem WebSphere Message Broker Explorer können Sie diese Eigenschaften bearbeiten, die von einem Systemüberwachungstool zur Ausführung automatisierter Aktionen als Reaktion auf Situationen verwendet werden können, die in den überwachten Systemen festgestellt werden.
Beispiel: Ein Nachrichtenfluss enthält einen Route-Knoten, mit dem zwischen den Kundenklassen unterschieden wird, die in der Nachricht definiert sind. Der Route-Knoten hat die benutzerdefinierte Eigenschaft ProcessClasses (Prozessklassen), die mit dem Anfangswert Alle festgelegt ist. Wenn ProcessClasses auf Alle gesetzt ist, leitet der Knoten Nachrichten zur sofortigen Verarbeitung aus allen Kundenklassen an sein erstes Terminal.
Wenn bestimmte Bedingungen festgestellt werden (wenn das Überwachungssystem beispielsweise feststellt, dass das Service-Level-Agreement aufgrund der Anforderungslast das Ziel nicht erreicht), muss der Route-Knoten so festgelegt werden, dass nur Anforderungen von Kunden, die der "Gold"-Klasse angehören, zur sofortigen Verarbeitung weitergeleitet werden. Anforderungen von anderen Kunden werden hingegen an ein anderes Ausgabeterminal gesendet, von dem sie zur späteren Stapelverarbeitung in eine Warteschlange gestellt werden. Daher setzt die Überwachungsanwendung ProcessClasses auf Gold, damit der Route-Knoten die unwichtigeren Nachrichten an das zweite Terminal sendet.
Nutzen Sie eine geeignete Namenskonvention, damit deutlich erkennbar ist, was eine benutzerdefinierte Eigenschaft für Funktionen hat, und welche Werte sie annehmen kann. Die benutzerdefinierte Eigenschaft Eigenschaft01 mit dem Anfangswert WertA ist beispielsweise nicht so aufschlussreich wie die Eigenschaft WeiterleitungAnAoderB mit dem Anfangswert RouteA.
Weitere Informationen finden Sie unter Benutzerdefinierte Nachrichtenflusseigenschafen zur Ausführungszeit in einer Konfigurationsmanager-Proxy-Anwendung festlegen bzw. Benutzerdefinierte Eigenschaften mithilfe des WebSphere Message Broker Explorers dynamisch zur Ausführungszeit festlegen.
Das Überschreiben einer Brokerarchivdatei hat Vorrang vor Änderungen im Nachrichtenflusseditor, und die Änderungen im Nachrichtenflusseditor haben Vorrang vor den Änderungen im ESQL-Code.