WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

Nachrichten Folgenummern hinzufügen

Mit dem Sequence-Knoten können Sie Nachrichten, die in einen Nachrichtenfluss eintreten, Folgenummern hinzufügen.

Bevor Sie beginnen:

Lesen Sie den Konzeptabschnitt über Nachrichtenfolgebildung.

Der Sequencesknoten ordnet jeder ankommenden Eingabenachricht eine kontinuierlich steigende Folgenummer zu. Sobald eine Nachricht am Sequencesknoten ankommt, wird die Folgenummer erhöht und mit der Nachricht in der Position gespeichert, die durch die Eigenschaft Pfad zum Speichern der Folgenummer angegeben ist. Die Zuordnung von Folgenummern wird bis zum Ende der durch die Eigenschaft Ende der Folgedefinition angegebenen Folge fortgesetzt.

Eingabenachrichten können anhand einer in der Nachricht definierten ID in unabhängige Folgegruppen unterteilt werden. Jede Gruppe verfügt über eine eigene Gruppen-ID und die Reihenfolge der Nachrichten wird in den einzelnen Gruppen unabhängig von den anderen verwaltet.

Der Knoten Sequence ordnet den einzelnen Nachrichten in der 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. Auf diese Weise wird sichergestellt, dass auch bei Vorhandensein mehrerer Threads im Nachrichtenfluss die Sequenzbildung für die Gruppe beibehalten wird.

Wenn die Nachricht mit der neu zugeordneten Folgenummer gespeichert werden muss (z. B. wenn Sie die Nachricht zur Verarbeitung durch einen anderen Datenfluss auf WebSphere MQ speichern müssen) und in der Nachricht kein günstiger Ort zur Speicherung der Folgenummer vorhanden ist, können Sie der Nachricht vor dem Sequence-Knoten einen MQRFH2-Header hinzufügen und die Folgenummer in ein Feld im Ordner usr setzen.

Mehrere Folgegruppen können unabhängig voneinander gleichzeitig verwaltet werden. Beim Neustart des Brokers bleibt der Folgegruppenstatus erhalten.

Im Folgenden wird beschrieben, wie ein Nachrichtenfluss erstellt wird, der jeder Nachricht einer Folgegruppe eine Folgenummer hinzufügt.

  1. Erstellen Sie einen Nachrichtenfluss mit einem MQInput-Knoten, einem Sequence-Knoten und einem MQOutput-Knoten.
  2. Verbinden Sie das Ausgangsterminal des Knotens MQInput mit dem Eingangsterminal des Knotens Sequence.
  3. Verbinden Sie das Ausgangsterminal des Knotens Sequence mit dem Eingangsterminal des Knotens MQOutput.
    Nachrichtenfluss mit den Knoten MQInput, Sequence und MQOutput.
  4. Geben Sie im MQInput-Knoten die Quelle der Eingabenachrichten des Knotens an. Setzen Sie dazu die Eigenschaft Warteschlangenname (auf der Registerkarte Grundeinstellung) auf den Namen einer WebSphere MQ-Warteschlange, aus der der MQInput-Knoten seine Nachrichten erhält. Beispiel: SEQ.TASK1.IN1.
  5. Legen Sie die folgenden Eigenschaften des Knotens Sequence fest:
    1. Legen Sie auf der Registerkarte Grundeinstellungen die folgenden Eigenschaften fest:
      • Geben Sie für die Eigenschaft Pfad zum Speichern der Folgenummer an, an welcher Speicherposition in der Nachricht die Folgenummer definiert werden soll. Beispiel: $OutputBody/doc/seq. Die Folgenummer wird auch in der lokalen Umgebung über die Variable LocalEnvironment.Sequence.Number festgelegt.
      • Setzen Sie die Eigenschaft Pfad zu Folgegruppen-ID auf die Speicherposition der Folgegruppen-ID in der Nachricht. Beispiel: $InputBody/doc/grp. Die Folgegruppen-ID wird auch über die Variable LocalEnvironment.Sequence.Group in die lokale Umgebung kopiert.
      • Legen Sie für die Eigenschaft Beginn der Folgedefinition Literal und den erforderlichen Anfangswert wie z. B. 0 fest.

        Zwar muss die Startfolgenummer über eine Literalzahl angegeben werden, der Wert kann jedoch in der lokalen Umgebung über die Variable LocalEnvironment.Sequence.StartOfSequenceNumber überschrieben werden.

        Die Nachricht für den Beginn der Folge wird in der lokalen Umgebung durch die Variable LocalEnvironment.Sequence.Start in Form eines booleschen Werts angegeben.

      • Setzen Sie die Eigenschaft Ende der Folgedefinition auf einen der folgenden Werte:
        • Automatisch mit dem erforderlichen Zeitlimitwert, z. B. 60. Bei dieser Einstellung wird die Folgegruppe automatisch geschlossen, wenn die Nachrichtenwarteschlange des Knotens 60 Sekunden lang leer bleibt.
        • Literal mit dem erforderlichen Endwert, z. B. 100. Bei dieser Einstellung wird die Folgegruppe geschlossen, wenn die Nachricht mit der Folgenummer 100 verarbeitet wurde.
        • Prädikat mit dem erforderlichen XPath-Ausdruck, z. B. $InputBody/doc/endFlag. Bei dieser Einstellung wird die Folgegruppe geschlossen, wenn das Prädikat $InputBody/doc/endFlag als 'True' (Wahr)($InputBody/doc/endFlag=True) ausgewertet wird.

        Die Nachricht für das Ende der Folge wird in der lokalen Umgebung durch die Variable LocalEnvironment.Sequence.End in Form eines booleschen Werts angegeben.

    2. Setzen Sie auf der Registerkarte Erweitert die Eigenschaft Permanenzmodus auf den Wert Nicht persistent. Wählen Sie Permanent aus, wenn die Folge bei einem Neustart des WS-Managers beibehalten werden soll.
  6. Setzen Sie für den MQOutput-Knoten die Eigenschaft Warteschlangenname (auf der Registerkarte Grundeinstellung) auf den Namen einer WebSphere MQ-Warteschlange, an die der MQOutput-Knoten seine Nachrichten sendet. Beispiel: SEQ.TASK1.OUT1.
  7. Speichern Sie den Nachrichtenfluss.
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:33


TaskthemaTaskthema | Version 8.0.0.5 | bc28041_