2017-10-28 2 views
-1

Benötigen Sie einen Vorschlag, um eine bessere Wiederholungslösung für einen fehlgeschlagenen Serviceanruf zu entwerfen.Java-Retry-Ansatz für einen fehlgeschlagenen Webservice-Aufruf

Zum Beispiel: In meine Anwendung Ich habe eine Liste von Elementen, die an eine Service-Methode übergeben wird. Was dann verwendet, um die Liste bean in andere Anwendung DB beharrte. Und der Dienst, den wir aufrufen, ist der OSB-Dienst, auf den wir keinen Zugriff haben. Im Falle eines Problems (Dienst heruntergefahren) wird die fehlgeschlagene Bean in meine Anwendungen DB eingefügt. So habe ich eine LOG-Tabelle, die eine Liste der fehlgeschlagenen Bean mit Datum und Fehlermeldung hat.

Welche ich lesen und für einen bestimmten Zeitraum weiter aufbereiten muss.

Meine-Lösung: 1. Rufen Sie eine Liste der Bean aus der LOG-Tabelle ab. 2. Bereiten Sie einen asynchronen Aufruf mit FutureTask vor. 3. Dann versuchen Sie dreimal in regelmäßigen Abständen.

Antwort

0

Werfen Sie einen Blick auf Messaging-Muster. Sie erstellen Nachrichtenmuster neu, aber von Grund auf neu. Wenn Sie dies tun werden, versuchen Sie suchen etwas ein wenig robuster als Festzeit-Wiederholungen:

https://dzone.com/articles/understanding-retry-pattern-with-exponential-back

Ansonsten einige Middleware dies zu erreichen, verwenden entweder eine ESB wie MuleESB oder Apache ServiceMix .. Sie werden viel robuster sein und Dinge wie Krankenhaus-Warteschlangen, konfigurierbare Wiederholungen, Eskalation usw. einschließen.

+0

Schön, danke, ich habe den gleichen Vorschlag gesucht. Welches wird robust sein. Danke, dass Sie auf die Tools und die API hingewiesen haben – pYadu

Verwandte Themen