# Retry-Handling in SAP CPI mittels JMS-Adapter: Teil 1 Quelle: https://erlebe-software.de/sap-integration/retry-handling-sap-cpi-jms-1/ Stand: 2026-07-28 Kennen Sie dieses Problem: Das Zielsystem war für einen kurzen Augenblick nicht erreichbar, wodurch das System eine Nachricht nicht übermitteln konnte. Dieses Problem lösen viele Nutzer damit, dass sie die Nachricht manuell an die [SAP Cloud Platform Integration (CPI)](https://mindsquare.de/knowhow/sap-cloud-platform-integration/) schicken. Deutlich einfacher lösen Sie das Problem jedoch mithilfe des Retry-Handlings. In diesem Blogbeitrag erfahren Sie Schritt für Schritt, wie Sie mithilfe des JMS-Adapters einen Retry-Prozess einbauen können. ## Das Wichtigste im Überblick - **Retry-Mechanismus: Der JMS-Adapter speichert Nachrichten temporär in der Message Queue und ermöglicht deren Wiederholung. Ein eingebauter Header zählt die Wiederholungen, bis die gewünschte Anzahl an Retries erreicht ist.** - **Konfiguration: Der Retry-Prozess erfordert das Hinzufügen eines JMS-Adapters im Integration Flow. Dabei ist der Name der Queue wichtig, da er mit dem JMS-Adapter übereinstimmen muss, der die Nachricht später entnimmt.** - **Verarbeitung der Nachricht: Bei einer fehlerhaften Verbindung wird die Nachricht vom „Exception Subprocess“ abgefangen und der Retry-Prozess wird ausgelöst. Die Nachricht wird dabei zurück in die Message Queue gelegt und erneut versucht.** - **Einstellung des Wiederholungsintervalls: Das Intervall für Wiederholungen kann im JMS-Adapter eingestellt werden, mit der Möglichkeit, durch die „Exponential Backoff“-Option die Zeit zwischen den Wiederholungen zu verdoppeln.** ## Wie funktioniert der Retry-Mechanismus in der SAP CPI? Durch den **JMS-Adapter** werden die Nachrichten temporär in der **Message Queue** der SAP CPI gespeichert. Die Nachrichten können von dort aus **beliebig oft** wiederholt werden. Dafür zählt ein **eingebauter Header** von SAP die Wiederholungen hoch bis zur **gewünschten Anzahl an Retries**. ## Ablegen der Nachricht in die Message Queue Um es einfacher zu machen, nutzen Sie in dem **Integration Flow** einen „Start Timer“ und einen „Content Modifier“, um die **Nachricht des Senders** darzustellen. Damit das System die Nachricht nun temporär in der **Message Queue** speichert, müssen Sie einen **JMS-Adapter** hinzufügen. [![JMS Message Queue](https://erlebe-software.de/files/2021/04/2021-04-14_15h53_06.png)](https://erlebe-software.de/files/2021/04/2021-04-14_15h53_06.png) Hinzufügen eines JMS-Adapters Bei der Konfiguration des Adapters müssen Sie auf den **Namen der Queue** achten. Dieser muss **identisch** mit dem später konfigurierten JMS-Adapter sein, der die Nachricht aus der Queue entnimmt. [![Konfiguration JMS Adapter](https://erlebe-software.de/files/2021/04/2021-04-14_16h00_33.png)](https://erlebe-software.de/files/2021/04/2021-04-14_16h00_33.png) Achten Sie auf den Namen der Queue ## Entnehmen der Nachricht aus der Message Queue Damit das System die Nachricht an den Empfänger übermitteln kann, muss die Message zuerst **aus der Queue** entnommen werden. Dazu nutzen Sie den **JMS-Adapter** mit dem zuvor festgelegten „Queue Name“. In unserem Beispiel simulieren wir eine **fehlerhafte Verbindung** zu dem Endsystem mit einer **falschen Adresse**. Dadurch erscheint über den **[IDoc](https://erlebe-software.de/knowhow/idoc/)-Adapter** ein [gelbes Ausrufezeichen](https://erlebe-software.de/knowhow/idoc/). Der „Exception Subprocess“ fängt die fehlerhafte Nachricht ab und ruft den **lokalen Integrationsprozess** „Call Retry Process“ auf. [![JMS Retry Handling](https://erlebe-software.de/files/2021/04/2021-04-14_21h29_14.png)](https://erlebe-software.de/files/2021/04/2021-04-14_21h29_14.png) Message aus der Queue entnehmen ## Der lokale „Retry Process“ Der lokale Integrationsprozess besteht aus **zwei Routen**. 1. **EndOfRetry-Route:** Hier findet die Prüfung der Anzahl der Wiederholungen statt. Dabei endet der Prozess, wenn die gewünschten Wiederholungen erreicht wurden. 2. **Default-Route („Retry“):** Funktioniert die erste Route nicht, durchläuft das System die Default-Route. Die Nachricht gelangt wieder **zurück in die Message Queue** und der **JMS-Adapter** entnimmt diese zum Wiederholen. Der Standard-Header „SAPJMSRetries“ **erhöht** **sich** während des Prozesses. [![Retry Prozess](https://erlebe-software.de/files/2021/04/2021-04-14_16h32_07.png)](https://erlebe-software.de/files/2021/04/2021-04-14_16h32_07.png) Der Retry-Prozess Der Prozess wiederholt sich so oft, bis die Bedingung **${header.SAPJMSRetries} > '1'** erfüllt ist. [![Router Retry Handling](https://erlebe-software.de/files/2021/04/2021-04-14_17h29_47.png)](https://erlebe-software.de/files/2021/04/2021-04-14_17h29_47.png) Erfüllte Bedingung Somit verfügt der Header **nach der ersten Wiederholung** über einen **Wert von 1**. Da die Bedingung aber immer noch nicht erfüllt ist, gibt es einen weiteren „Retry“. **Nach der zweiten Wiederholung** hat „SAPJMSRetries“ den **Wert 2**, weshalb die „EndOfRetry“-Route durchläuft und der Prozess endet. ## Einstellung des Wiederholungsintervalls Im JMS-Adapter können Sie unter dem Reiter „Connection“ das **Wiederholungsintervall** einstellen. Das Intervall ist die **Anzahl der Minuten**, die das System nach einer Wiederholung abwarten soll, bevor eine weitere beginnt. Mit Anhaken der Checkbox „Exponential Backoff“ **verdoppeln** Sie die Zeit zwischen jeder Wiederholung. Dies hat den Vorteil, dass das System bei **längerer Ausfallzeit** des Zielsystems nicht alle Nachrichten schnell hintereinander wiederholt. [![JMS Adapter Konfiguration](https://erlebe-software.de/files/2021/04/2021-04-14_21h37_21.png)](https://erlebe-software.de/files/2021/04/2021-04-14_21h37_21.png) Wiederholungsintervall erstellen ## Fazit Das Retry-Handling in der SAP CPI ermöglicht eine **effiziente** und **automatisierte Wiederholung** von Nachrichten, deren Übermittlung aufgrund von temporären Ausfällen nicht stattfinden konnte. Durch die **Konfiguration des JMS-Adapters** und des **Retry-Prozesses** wird der Aufwand minimiert und die Verfügbarkeit des Systems verbessert. [Im zweiten Teil](https://erlebe-software.de/sap-integration/retry-handling-sap-cpi-jms-adapter-2/) zum Retry-Handling in der SAP CPI erfahren Sie, wie Sie Retry Messages überwachen und im Fehlerfall eine E-Mail an den IT-Support verschicken. *Dieser Artikel erschien bereits im August 2021. Der Artikel wurde am 16.12.2025 erneut geprüft und mit leichten Anpassungen aktualisiert.* ## FAQ ### Wie funktioniert der Retry-Mechanismus in der SAP CPI? Der JMS-Adapter speichert Nachrichten in der Message Queue und ermöglicht es, diese mehrfach zu wiederholen, bis die gewünschte Anzahl an Retries erreicht ist. ### Welche Schritte sind notwendig, um den Retry-Prozess zu konfigurieren? Der Retry-Prozess erfordert das Hinzufügen eines JMS-Adapters und die Konfiguration des „Queue Names“, um Nachrichten in die Message Queue zu legen und sie bei Bedarf zu wiederholen. ### Was passiert bei einer fehlerhaften Nachricht? Der „Exception Subprocess“ fängt fehlerhafte Nachrichten ab und der lokale Integrationsprozess „Call Retry Process“ wird aufgerufen, um die Nachricht erneut zu versuchen. ### Wie kann das Wiederholungsintervall eingestellt werden? Im JMS-Adapter kann das Wiederholungsintervall unter dem Reiter „Connection“ eingestellt werden. Mit der Option „Exponential Backoff“ lässt sich die Zeit zwischen den Wiederholungen verdoppeln.