Optional können Sie Knoten nutzen, die die Reihenfolge und die Datenflusskontrolle im
Nachrichtenfluss bestimmen, um so zu entscheiden, wie Nachrichten vom Datenfluss verarbeitet werden.
- Knoten zur Entscheidungsfindung
- Validate-Knoten
- Mit dem Validate-Knoten können Sie überprüfen, ob die Nachricht, die im Eingabeterminal des
Knotens empfangen wird, erwartungsgemäß ist. Sie können überprüfen, ob die Nachricht die erwarteten
Nachrichtenschabloneneigenschaften (Nachrichtendomäne, Nachrichtengruppe und Nachrichtentyp)
aufweist und ob der Inhalt der Nachricht korrekt ist. Sie können in der Nachricht eine oder
mehrere der Eigenschaften Nachrichtendomäne, Nachrichtengruppe oder Nachrichtentyp überprüfen.
Der Validate-Knoten ersetzt den Prüf-Knoten, der in WebSphere Message
Broker Version 6.1 nicht weiter unterstützt wird.
Der Validate-Knoten funktioniert wie der Prüf-Knoten, besitzt aber weitere Validierungseigenschaften, die eine Auswertung des Nachrichteninhalts durch Parser ermöglichen, die diese Funktion unterstützen.
- Filter-Knoten
- Verwenden Sie den Filter-Knoten zusammen mit einer ESQL-Anweisung, um den nächsten Knoten zu
bestimmen, an den die Nachricht von diesem Knoten gesendet wird. Der ESQL-Code, der von Ihnen zur Verwendung in einem Filter-Knoten entwickelt wurde, sollte nicht in einem anderen Knotentyp verwendet werden.
Die Knotenterminals sind TRUE, FALSE, UNKNOWN und FAILURE. Die Nachricht wird an das TRUE-Terminal weitergegeben, wenn der Test erfolgreich verläuft; sie wird an das FALSE-Terminal weitergegeben, wenn der Test fehlschlägt. Kann die Anweisung nicht aufgelöst werden (z. B. wenn der Wert eines Felds getestet wird, das nicht in der Eingabenachricht angezeigt
wird), wird die Nachricht an das Terminal UNKNOWN weitergeleitet. Wenn ein anderer Fehler entdeckt wird, wird die Nachricht an das Terminal FAILURE weitergegeben.
Der Test der ESQL-Anweisung kann
vom Nachrichteninhalt, vom Datenbankinhalt oder einer Kombination aus
beidem abhängig sein.
Wenn Sie auf eine Datenbank verweisen, können Sie steuern, wie dieser
Knoten auf die Datenbank zugreift, indem Sie Informationen zum Benutzer und Kennwort für jede
Datenquelle angeben, die in der Registry auf dem Brokersystem definiert ist.
Diese Werte werden mit dem Befehl mqsisetdbparms initialisiert und verwaltet.
Verwenden Sie statt des Compute-Knotens den Filter-Knoten zur Steuerung der Nachrichtenauswahl und -weiterleitung, denn er erfüllt diese Aufgabe viel effizienter.
- FlowOrder-Knoten
- Sie können die Terminals dieses Knotens verbinden, um eine Verarbeitung der Nachricht durch
eine Knotenfolge, gefolgt von einer zweiten Knotenfolge, zu erzwingen.
- Passthrough-Knoten
- Verwenden Sie den
Passthrough-Knoten, um die Versionssteuerung eines
untergeordneten Nachrichtenflusses während der Ausführung zu aktivieren. Mit diesem Knoten können Sie Ihrem untergeordneten Nachrichtenfluss eine Bezeichnung hinzufügen. Wenn Sie diese Bezeichnung mit der Ersetzung durch ein reserviertes Wort aus Ihrem Versionssteuerungssystem 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 einfügen, 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 WebSphere Message
Broker Toolkit, wenn er zuletzt in einem bestimmten Broker implementiert wurde
- Im Broker, wenn Sie den Benutzertrace für den Nachrichtenfluss aktivieren
- Route-Knoten
- Mit dem Route-Knoten können Sie Nachrichten, die bestimmte Kriterien erfüllen, an die verschiedenen Pfade eines Nachrichtenflusses übertragen. Sie können eine Nachricht zum Beispiel basierend auf den Anforderungsdetails an verschiedene Service-Provider weiterleiten. Sie können auch den Route-Knoten verwenden, um unnötige Schritte zu umgehen. Sie können zum Beispiel überprüfen, ob in einer Nachricht bestimmte Daten enthalten sind, und nur dann eine Datenbanksuche durchführen, wenn die Daten fehlen. Wenn Sie die Eigenschaft Verteilungsmodus auf Alle setzen, können Sie mehrere Ereignisse auslösen, die verschiedene Bedingungen erfordern.
Sie können z. B. Anforderungen protokollieren, die sich auf eine bestimmte Konto-ID beziehen, und Anforderungen senden, die im Zusammenhang mit der Prüfung eines bestimmten Produkts stehen.
Verwenden Sie den Route-Knoten zur Implementierung der Nachrichtenweiterleitung mit geringem Programmieraufwand. Verwenden Sie für erweiterte Weiterleitungsszenarios einen Compute-Knoten oder einen JavaCompute-Knoten.
- RouteToLabel-Knoten
- Verwenden Sie den Knoten RouteToLabel für komplexe Weiterleitungen im Anschluss an einen Compute- oder JavaCompute-Knoten. Definieren Sie in einem Compute- oder JavaCompute-Knoten eine Liste mit Zieladressen, die vom
Knoten RouteToLabel verarbeitet werden.
Der RouteToLabel-Knoten fragt die Zieladressen ab und leitet die
Nachricht an den entsprechenden Label-Knoten weiter.
- DatabaseRoute-Knoten
- Verwenden Sie den DatabaseRoute-Knoten, um eine Nachricht anhand der Informationen aus einer Datenbank in Verbindung mit XPath-Routingausdrücken weiterzuleiten. Der Knoten sucht eine Gruppe benannter Spaltenwerte aus einer lokalisierten Datenbankzeile und wendet dann synchron einen oder mehrere XPath-Ausdrücke auf diese erfassten Werte an. Verwenden Sie den DatabaseRoute-Knoten zur Implementierung der Nachrichtenweiterleitung mit geringem Programmieraufwand. Verwenden Sie für erweiterte Weiterleitungsszenarios einen Compute-Knoten oder einen JavaCompute-Knoten.
- Label-Knoten
- Verwenden Sie den Label-Knoten als Ziel für die nächste Knotenfolge, durch die eine Nachricht verarbeitet werden soll. Dieser Knoten wird bei allen Nachrichtentypen in Kombination mit dem Knoten RouteToLabel bzw. bei SOAP-Nachrichten in Kombination mit dem Knoten SOAPExtract verwendet.
Der Label-Knoten leitet die Nachricht an den nächsten Knoten im Nachrichtenfluss weiter, führt aber keine Verarbeitung durch.
- ResetContentDescriptor-Knoten
- Mit dem Knoten 'ResetContentDescriptor' können Sie neue Nachrichteneigenschaften festlegen, die verwendet werden, wenn der Nachrichtenbitstrom anschließend von einem nachfolgenden Knoten im Nachrichtenfluss syntaktisch analysiert wird.