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.

Mehrere Ausgabenachrichten generieren

Mithilfe der Anweisung PROPAGATE können Sie mehrere Ausgabenachrichten im Compute-Knoten generieren. Die von Ihnen generierten Ausgabenachrichten können denselben oder unterschiedlichen Inhalt haben. Sie können Ausgabenachrichten auch an alle vier alternativen Ausgabeterminals des Compute-Knotens oder an einen Label-Knoten übertragen.

Um beispielsweise drei Kopien der Eingabenachricht zu erstellen, die vom Compute-Knoten empfangen wurde, und davon eine Kopie an das standardmäßige Terminal 'Out' des Compute-Knotens, eine an das erste alternative Terminal 'Out1' des Compute-Knotens und eine an den Label-Knoten 'ThirdCopy' zu senden, schreiben Sie folgenden ESQL-Code:

SET OutputRoot = InputRoot;
PROPAGATE;
SET OutputRoot = InputRoot;
PROPAGATE TO TERMINAL 'out1';
SET OutputRoot = InputRoot;
PROPAGATE TO LABEL 'ThirdCopy';
Im oben gezeigten Beispiel wird der Inhalt von OutputRoot vor jeder PROPAGATE-Anweisung zurückgesetzt, da der Knoten den Puffer für Ausgabenachrichten standardmäßig löscht und den Speicher beim Abschluss der PROPAGATE-Anweisung zurückfordert. Alternativ können Sie den Knoten anweisen, die Ausgabenachricht in den ersten beiden PROPAGATE-Anweisungen nicht zu löschen, damit die Nachricht an die nächste Zieladresse weitergeleitet werden kann. Verwenden Sie dazu folgenden Code:
SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE TO TERMINAL 'out1' DELETE NONE;
PROPAGATE TO LABEL 'ThirdCopy';

Wenn Sie den Ausgabepuffer nicht initialisieren, wird eine leere Nachricht generiert und der Nachrichtenfluss stellt einen Fehler fest und gibt eine Ausnahmebedingung aus.

Stellen Sie auch sicher, dass Sie für jede weitergegebene Ausgabenachricht alle erforderlichen Nachrichtenheader in den Puffer für Ausgabenachrichten kopieren.

Wenn Sie den Inhalt der Ausgabenachricht vor der Weitergabe der einzelnen Nachrichten ändern möchten, schreiben Sie den entsprechenden ESQL-Code zur Ausführung der gewünschten Änderungen vor der Codierung der PROPAGATE-Anweisung.

Wenn Sie den Inhalt der letzten Ausgabenachricht, die generiert werden soll, konfigurieren und diesen als letzte Aktion des Compute-Knotens weitergeben, müssen Sie die letzte PROPAGATE-Anweisung nicht einfügen. Die Standardaktion des Compute-Knotens besteht in der Weitergabe des Ausgabepufferinhalts, wenn er beendet wird. Dies wird durch die Anweisung RETURN TRUE implementiert, eingeschlossen als letzte Anweisung im Modulgerüst.

Um beispielsweise drei Kopien der Eingabenachricht zu generieren und keine weitere Aktion auszuführen, fügen Sie diesen Code unmittelbar vor der RETURN TRUE-Anweisung ein:

SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE DELETE NONE;

Alternativ dazu können Sie das Standardverhalten des Knotens ändern, indem Sie RETURN TRUE in RETURN FALSE ändern:

SET OutputRoot = InputRoot;
PROPAGATE DELETE NONE;
PROPAGATE DELETE NONE;
PROPAGATE;
RETURN FALSE;

Von den drei PROPAGATE-Anweisungen werden drei Ausgabenachrichten generiert. Die letzte RETURN FALSE-Anweisung bewirkt, dass der Knoten beendet wird, jedoch keine letzte Ausgabenachricht weitergibt. Beachten Sie, dass in der letzten PROPAGATE-Anweisung die Klausel DELETE NONE nicht enthalten ist, da der Knoten zu diesem Zeitpunkt den Speicher freigeben muss.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

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

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:19:58


TaskthemaTaskthema | Version 8.0.0.5 | ac12370_