Tut OkHttpClient max retry count
Ich bin die Einstellung des retry on connection failure option für OkHttpClient.
client = new OkHttpClient();
client.setRetryOnConnectionFailure(true);
Ich gerne wissen, wie viele Zeiten es wird weiter versuchen. Blick auf die source code ich sehe keine maximale Grenze. Wie Konfiguriere ich den client zu beenden versucht nach ein paar versuchen?
- Source code " - link ist jetzt gebrochen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehr docs hier https://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.Builder.html#retryOnConnectionFailure-boolean-
Aber im Allgemeinen, glaube ich, ist es bestimmt wiederholen, wenn es eine bereits vorhandene veraltete Verbindung, oder Alternative Pfade, können wiederholt werden. Nicht zu wiederholen, die genau das gleiche auf unbestimmte Zeit.
Siehe auch ConnectionSpecSelector.connectionFailed
Habe ich ein workaround unten:
Gibt es keine eingebaute Methode zum festlegen der maximalen Grenze, aber Sie können hinzufügen, ein Abfangjäger wie unten.
Mehr detail auf interceptos finden hier.
isSuccessful()
zurücktrue
. Für den rest, wird es wiederfalse
. Und Verbindungsfehler sind meist 4xx, so sollte es funktionieren.OkHttp möglicherweise wiederholen Sie Ihre Anfragen auf eine langsame/unzuverlässige Verbindung "aggressiv", bis es gelingt. Dies geschieht für GET -, POST-oder jede andere Art von Anfragen
Laut source-code von
RetryAndFollowUpInterceptor
es ist 20