Untergeordnete Nachrichtenflüsse können genauso in Nachrichtenflüsse eingeschlossen werden wie integrierte oder benutzerdefinierte Knoten.
Untergeordnete Nachrichtenflüsse können auch auf dieselbe Weise mit anderen Knoten verbunden werden. Sie können
einen untergeordneten Nachrichtenfluss einmal definieren und dann in mehreren Nachrichtenflüssen
(und sogar in mehreren Nachrichtenflussprojekten) verwenden. Dies bietet folgende Vorteile:
- Wiederverwendung und reduzierte Entwicklungszeit.
- Konsistenz und verbesserte Verwaltbarkeit der Nachrichtenflüsse (betrachten Sie einen untergeordneten Fluss wie ein Programmierungsmakro oder Inline-Code, der einmalig geschrieben, aber an mehreren Stellen verwendet wird).
- Flexibilität zur Anpassung eines untergeordneten Nachrichtenflusses an einen bestimmten Kontext (indem beispielsweise die Informationen der Ausgabewarteschlange oder Datenquelle aktualisiert werden).
Berücksichtigen Sie
jedoch, dass ein untergeordneter Nachrichtenfluss kein einzelner Knoten ist. Und da sich durch
seine Einfügung die Anzahl der Knoten im Nachrichtenfluss erhöht, kann dies dessen Leistung
beeinträchtigen.
Es folgen einige Beispiele zur Verwendung eines untergeordneten
Nachrichtenflusses:
- Sie können einen untergeordneten Nachrichtenfluss definieren, der eine allgemeine
Aktionsfolge bereitstellt, die im Fall eines Fehlers für mehrere Nachrichtenflüsse gilt.
Beispielsweise können Sie eine allgemeine Fehlerroutine einsetzen, die über einen Warehouseknoten
die Nachricht in eine Datenbank schreibt und sie zur weiteren Verarbeitung durch eine Fehlerbehebungsroutine in eine Warteschlange stellt. Die Verwendung dieser Routine in mehreren
Nachrichtenflüssen oder an mehreren Stellen in einem Nachrichtenfluss ermöglicht eine effiziente
und konsistente Verwendung von Ressourcen und verhindert, dass solche Routinen bei jedem Auftreten
eines Fehlers erneut erstellt werden.
- Sie möchten vielleicht eine allgemeine Berechnung für Nachrichten durchführen, die
mehrere verschiedene Nachrichtenflüsse durchlaufen. Sie könnten beispielsweise auf Wechselkurse in
einer Datenbank zugreifen und diese zur Berechnung von Preisen in verschiedenen Währungen
heranziehen. Der untergeordnete Nachrichtenfluss für die Währungsberechnung kann in jeden
Nachrichtenfluss eingefügt werden, für den er sich eignet.
Verwenden Sie den
Passthrough-Knoten, um die Versionssteuerung eines
untergeordneten Nachrichtenflusses während der Ausführung zu aktivieren. Mit dem
Passthroughsknoten können Sie eine Bezeichnung zum Nachrichtenfluss
oder untergeordneten Nachrichtenfluss hinzufügen. Wenn Sie diese Bezeichnung mit der
Schlüsselwortersetzung aus Ihrem System zur Versionssteuerung kombinieren, können Sie ermitteln,
welche Version eines untergeordneten Nachrichtenflusses in einen implementierten Nachrichtenfluss
eingefügt wurde. Sie können diese Bezeichnung für Ihre eigenen Zwecke verwenden. Wenn Sie die
richtigen Versionsschlüsselwörter in die Bezeichnung eingefügt haben, können Sie den Wert der
Bezeichnung an folgenden Stellen sehen:
- Gespeichert in der Brokerarchivdatei (BAR-Datei) mit dem Befehl
mqsireadbar
- In den Eigenschaften eines implementierten Nachrichtenflusses im Message
Brokers Toolkit, wenn er zuletzt in einem bestimmten Broker implementiert wurde
- Während der Laufzeit, wenn Sie den Benutzertrace für den Nachrichtenfluss aktivieren
Die Nachricht, die am Ausgangsterminal weitergegeben wird, ist dieselbe Nachricht, die am
Eingangsterminal empfangen wurde. Wenn Sie beispielsweise einen untergeordneten Nachrichtenfluss
zur Fehlerbehandlung entwickeln, der in verschiedene Nachrichtenflüsse eingeschlossen werden soll,
möchten Sie diesen untergeordneten Fluss eventuell modifizieren. Unter Umständen soll die
modifizierte Version jedoch anfänglich nur in eine Teilmenge der Nachrichtenflüsse eingefügt
werden, in der sie enthalten ist. Geben Sie einen Wert für die Instanz des
Passthroughsknotens an,
der festlegt, welche Version des untergeordneten Flusses eingeschlossen wurde.
Die Verwendung
von untergeordneten Nachrichtenflüssen wird in den folgenden Beispielen veranschaulicht:
Das Fehlerbehandlungsbeispiel verwendet einen untergeordneten Nachrichtenfluss zum Erfassen von Fehlerinformationen und Speichern der Informationen in einer Datenbank. Das Beispielprogramm 'Koordinierte Anforderungsantwort' verwendet einen untergeordneten Nachrichtenfluss zur Einbindung des Speichers der 'ReplyToQ'- und 'ReplyToQMgr'-Werte in einer
WebSphere MQ-Nachricht, so dass die Verarbeitungslogik in anderen Nachrichtenflüssen problemlos wiederverwendet werden kann und die Substitution alternativer Implentierungen möglich ist.
Sie können Beispiele nur anzeigen, wenn Sie das Information Center
verwenden, das im Message
Brokers Toolkit integriert ist.