Retry-Handling in SAP CPI mittels JMS-Adapter: Teil 2
In unserem ersten Teil zum Retry-Handling haben wir bereits einen intakten Retry-Prozess erstellt. Doch wie können Sie jetzt wiederholte Nachrichten überwachen? Oder die Messages dynamisch an verschiedene Zielsysteme schicken? Dies und weitere hilfreiche Funktionen erläutere ich Ihnen in den folgenden Schritten.
E-Mail an den IT-Support
Falls die Verbindung nach den gewünschten Wiederholungsversuchen immer noch nicht erreichbar ist, können Sie mit diesem kleinen Zusatz eine E-Mail an den IT-Support verschicken. Dies erfolgt wie abgebildet durch einen Mail-Adapter nach dem „Exception Subprocess“.
Monitoring von Wiederholungen
Im Monitor Message Processing können Sie die Retries überwachen. Während der Wiederholungen ist der Status der Nachricht auf „Retry“ gesetzt. Auf dem folgenden Bild sehen Sie, dass der im ersten Teil beschriebene Retry-Prozess komplett durchgelaufen ist. Die Nachricht wurde zwei Mal wiederholt und als „Completed“ markiert, da das System eine Mail an den IT-Support verschickt hat.
Unter „Manage Stores“ können Sie die Message Queues überwachen und weitere Informationen wie z. B. den „Retry Count“ betrachten. Des Weiteren können Sie hier sehen, wann die nächste Wiederholung ansteht. Wenn alle Wiederholungen durchgelaufen sind, verschwindet die Anzeige aus der Message Queue.
Dynamische Message Queues
Den Retry-Prozess können Sie auch zentral für mehrere IFlows benutzen. Dafür müssen Sie den Nachrichten ein zusätzliches Erkennungsmerkmal für die Adresse geben, bevor diese in die JMS-Queue gelangen. Dies dient dazu, die Nachrichten im Retry-Handling an die richtigen Adressen zu routen.
In unserem Beispiel bekommt die Nachricht den Header „ZAddressA“ mit dem Value „IDoc2“. Den Namen und Wert können Sie beliebig wählen. Diese dienen später nur zur Identifizierung der richtigen Route.
Damit der Header auch im Retry-Handling ankommt, müssen Sie diesen vorerst erlauben. Dafür klicken Sie im IFlow auf den weißen Hintergrund der CPI und lassen unter „Runtime Configuration“ mit einem Stern alle Header zu.
Der IFlow mit dynamischen Routing prüft den vorher gesetzten Header „ZAddressA“ auf die entsprechenden Werte und übermittelt die Message dann an das gewählte Zielsystem.
In der nächsten Abbildung sehen Sie die Einstellungen des Routers „Dynamisches Routing“.
Wir helfen Ihnen gerne weiter
In dieser Blogbeitragsreihe habe ich Ihnen gezeigt, wie Sie mit einem JMS-Adapter einen Retry-Prozess einbauen können. Wenn Sie zukünftig eine Nachricht verschicken wollen, das Zielsystem jedoch nicht erreichbar ist, müssen Sie die Nachricht somit nicht mehr manuell an das SAP CPI verschicken.
Haben Sie Fragen oder Anmerkungen zum Monitoring des Retry-Handlings oder anderen Funktionen des JMS-Adapters? Dann schreiben Sie uns gerne!