Mit dem Sequence-Knoten können Sie einer oder mehreren Gruppen mit Eingabenachrichten Folgenummern hinzufügen.
Dieses Thema ist in folgende Abschnitte eingeteilt:
Mit dem Sequence-Knoten können Sie Nachrichtensätze aus einer Eingabequelle empfangen, wobei die Reihenfolge, in der die Nachrichten jeder Gruppe eingehen, beibehalten bleibt.
Der Sequence-Knoten generiert dazu für jede Nachricht einer Folgegruppe eine sich inkrementell erhöhende Folgenummer. Sobald eine Nachricht für die Gruppe beim Sequence-Knoten eingeht, wird die Folgenummer für die Gruppe erhöht und mit der Nachricht an einem durch die Knoteneigenschaft Pfad zum Speichern der Folgenummer angegebenen Ort gespeichert (z. B. lokale Umgebung, MQRFH2-Header oder Nachrichtenhauptteil).
Die Folgebildung gilt nur für die Nachrichten der gleichen Folgegruppe. Mit den Eigenschaften des Sequence-Knotens können Sie Nachrichten gemäß bestimmten Bedingungen in Gruppen einteilen. Sie können zum Beispiel alle Nachrichten mit dem gleichen Wert im Kundennummernfeld der Nachricht zu einer Gruppe zusammenfassen. Wenn keine Folgegruppe angegeben ist, wird für alle Nachrichten eine einzige Standardgruppe verwendet.
Ein Sequence-Knoten kann Eingaben von mehreren Eingabeknoten in der Nachrichtenfolge empfangen oder von Eingabeknoten, die über zusätzliche Instanzen verfügen. Der Sequence-Knoten kann mehrere Folgegruppen parallel verarbeiten, er verarbeitet jedoch bei Folgenummern derselben Folgegruppe nur eine Anforderung nach der anderen.
Der Knoten Sequence ordnet den einzelnen Nachrichten in einer Folgegruppe Folgenummern zu. Erst wenn die Verarbeitung der aktuellen Nachricht in der Gruppe abgeschlossen ist (entweder durch Festschreibung oder Rollback), wird die nächste Folgenummer in der Gruppe zugeordnet. Immer nur ein Thread kann Nachrichten in derselben, dem Sequence-Knoten nachgeschalteten Folgegruppe verarbeiten. Auf diese Weise wird sichergestellt, dass auch bei Vorhandensein mehrerer Threads im Nachrichtenfluss die Sequenzbildung für die Gruppe beibehalten wird.
Wenn der Sequence-Knoten Nachrichten mehrerer Threads empfängt, wird die Reihenfolge, in der die Nachrichten den Sequence-Knoten erreichen, beibehalten. Die Reihenfolge, in der die Nachrichten den Sequence-Knoten erreichen, kann jedoch von der Reihenfolge abweichen, in der sie dem Transport durch den Eingabeknoten entnommen werden. Dies ist darauf zurückzuführen, dass Nachrichten in einem Thread zwischen dem Eingabeknoten und dem Sequence-Knoten eventuell von Nachrichten in einem anderen Thread überholt werden.
Jede Folgegruppe kann nur einem Sequence-Knoten zugeordnet werden. Mehrere Sequence-Knoten können über eine Folgegruppe desselben Namens verfügen, doch jede dieser Folgegruppen wird als separate Gruppe behandelt. Die Unterscheidung der einzelnen Folgegruppen erfolgt mithilfe der Kombination aus Ausführungsgruppenname, Nachrichtenfolgename, Knotenname und Folgegruppenname.
Die Nachrichtenfolge mit der Bezeichnung flow1 enthält beispielsweise einen Sequence-Knoten mit der Bezeichnung node1, der wiederum in einer Ausführungsgruppe mit dem Namen eg1 implementiert ist. An diese wird mithilfe einer Folgegruppe mit der Bezeichnung group1 eine Nachricht gesandt. Das Ergebnis ist eg1/flow1/node1/group1. Genau dieselbe Nachrichtenfolge in einer anderen Ausführungsgruppe, z. B. eg2, hätte das Ergebnis eg2/flow1/node1/group1 zur Folge.
Der Sequence-Knoten befindet sich im Ablagefach Routing der Palette und wird in der WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:
Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.
Nachdem Sie eine Instanz des Sequence-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Eigenschaften des Knotens werden in der Ansicht 'Eigenschaften' angezeigt.
Alle verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind mit einem Stern markiert.
Konfigurieren Sie den Sequence-Knoten:
Wenn die erste Nachrichten einer bestimmten Folgegruppe durch den Sequence-Knoten weitergegeben wird, dient die angegebene Startfolgenummer als erste Folgenummer zugewiesen. Die nachfolgenden Nachrichten erhalten monoton steigende Folgenummer. Dieser Wert wird durch die Variable LocalEnvironment.Sequence.StartOfSequenceNumber außer Kraft gesetzt.
Wenn der XPath-Ausdruck gültig, aber nicht in der Nachricht vorhanden ist, wird er als 'False' (Falsch) ausgewertet und der nächsten Nachricht in der Folgegruppe wird eine Folgenummer zugeordnet. Bei Auswertung des Prädikats als 'True' (Wahr) wird die Nachricht zur letzten der Folge und der Folge werden für diese Folgegruppe keine weiteren Nachrichten zugeordnet.
Ein ungültiger Xpath-Ausdruck schlägt fehl und die Nachricht wird rückgängig gemacht
In der folgenden Tabelle werden die Terminals des Sequence-Knotens beschrieben.
Terminal | Beschreibung |
---|---|
Eingangsterminal (In) | Das Eingabeterminal, über das die eingehende Nachrichtenassemblierung beim Knoten eintrifft. |
Fehlerterminal (Failure) | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn ein Fehler auftritt.Dieser Wert schließt Fehler ein, die durch die Wiederholungsverarbeitung verursacht werden. |
Ausgang | Das Ausgabeterminal, an das die Ausgabenachricht standardmäßig geleitet wird. |
In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss für die Implementierung zur BAR-Datei hinzugefügt wird).
In der folgenden Tabelle werden die Beschreibungseigenschaften des Sequence-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Sequence | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens. | |
Langbeschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt |
In der folgenden Tabelle werden die Basiseigenschaften des Sequence-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Pfad zu Folgenummer | Nein | Nein |
|
Ein XPath-Ausdruck, der die Position festlegt, in der die Folgenummer der Nachricht gespeichert werden soll. |
Pfad zu Folgegruppen-ID | Nein | Nein | Nicht festgelegt | Ein XPath-Ausdruck, der die Speicherposition der Folgegruppen-ID festlegt. Nachrichten mit der gleichen Gruppen-ID werden als Teil der gleichen Folgegruppe betrachtet. Diese Eigenschaft funktioniert genauso wie die Eigenschaft Korrelationspfad des Collector-Knotens. |
Beginn der Folgedefinition | Ja | Nein | 0 | Legt die erste Folgenummer jeder Gruppe fest. Gültige Werte sind positive oder negative Ganzzahlen. Der Standardwert ist 0. |
Ende der Folgedefinition | Ja | Nein | Automatisch | Legt das Ende jeder Folgegruppe fest. Gültige Werte sind:
|
In der folgenden Tabelle werden die erweiterten Eigenschaften des Sequence-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Permanenzmodus | Ja | Nein | Nicht persistent | Legt fest, ob der Folgegruppenstatus permanent gespeichert werden soll. Folgende Optionen sind gültig:
|
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Ereignisse | Nein | Nein | Ohne | Auf dieser Registerkarte werden Ereignisse angezeigt, die Sie für den Knoten
definiert haben. Standardmäßig sind für keinen Knoten in einem Nachrichtenfluss
Überwachungsereignisse definiert. Über Hinzufügen,
Bearbeiten und Löschen können Sie
Überwachungsereignisse für den Knoten erstellen, ändern oder löschen (Details siehe
Überwachungsereignisquellen mithilfe von Überwachungseigenschaften konfigurieren). Sie können hier angezeigte Ereignisse aktivieren oder inaktivieren, indem Sie das Kontrollkästchen Aktiviert aktivieren oder inaktivieren. |