Anforderungsnachrichtenfluss für das Muster Message Correlator for WebSphere MQ: request-response with persistence (Nachrichtenkorrelator für WebSphere MQ: Anforderung-Antwort mit Persistenz)
Der Anforderungsnachrichtenfluss wird als transaktionsorientierter Nachrichtenfluss ausgeführt.
Nachrichten, die vom Anforderungsnachrichtenfluss empfangen werden, werden wie folgt verarbeitet:
- Wenn eine Nachricht vom Nachrichtenfluss empfangen wird, wird eine Überprüfung durchgeführt, um sicherzustellen, dass der MQMD-Header eine Empfangswarteschlange für Antworten enthält.
Wenn dieses Feld leer ist, wird ein Fehler erzeugt.
- Wenn eine Nachricht vom Nachrichtenfluss empfangen wird, wird eine Kopie des MQMD-Nachrichtenheaders erstellt und geändert, indem als Korrelations-ID die Nachrichten-ID festgelegt wird. Der Inhalt des Nachrichtenheaders wird in einer Warteschlange gespeichert, um die ursprüngliche Antwortadresse beizubehalten. Durch die Festlegung der Korrelations-ID im
gespeicherten Header wird gewährleistet, dass der Wert korrekt ist, wenn der Header abgerufen und
zur Antwort an den Requester hinzugefügt wird, und es wird der Requesterabruf über die
Korrelations-ID ermöglicht.
- Der Nachrichtenfluss enthält den untergeordneten Anforderungsprozessor-Nachrichtenfluss 'RequestProcessor'.
Dieser untergeordnete Nachrichtenfluss enthält nur einen Passthrough-Knoten, deshalb wird keine Verarbeitung ausgeführt.
Sie können diesen untergeordneten Nachrichtenfluss in Ihrer Musterinstanz anpassen und Ihre eigene Verarbeitung hinzufügen, ohne die Struktur des Musters zu ändern.
- Der MQMD-Header der eingehenden Nachricht wird dahingehend geändert, dass der Ziel-WS-Manager für Antwortnachrichten und die Empfangswarteschlange für Antworten des Requesters durch die Adresse des Empfangsknotens des Antwortnachrichtenflusses ersetzt wird.
- Die Nachricht wird an die Provideranwendung weitergeleitet.
- Der Nachrichtenfluss kann den untergeordneten Protokollnachrichtenfluss 'Log' enthalten.
Sie können das Muster so konfigurieren, dass der untergeordnete Protokollnachrichtenfluss eingeschlossen oder ausgeschlossen wird.
- Wenn keine Protokollierung erforderlich ist, wird der Nachrichtenfluss erfolgreich beendet, nachdem die Nachricht in die Providerwarteschlange geschrieben wurde, und die Transaktion wird festgeschrieben.
- Der Nachrichtenfluss enthält auch den untergeordneten Fehlernachrichtenfluss 'Error' für die Fehlerbehandlung.