De retenter une connexion http

Je suis en train de faire une requête http. Je suis sur une plateforme (android) où les opérations de réseau échouent souvent parce que la connexion réseau peut ne pas être immédiatement disponible. Donc j'aimerais essayer de faire la même connexion N fois avant d'être complètement défaut. Pensais à quelque chose comme ceci:

DefaultHttpClient mHttp = ...;

public HttpResponse runHttpRequest(HttpRequestBase httpRequest) 
    throws IOException
{
    IOException last = null;
    for (int attempt = 0; attempt < 3; attempt++) {
        try {
            HttpResponse response = mHttpClient.execute(httpRequest);
            int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == 200) {
                return response;
            }
        } catch (IOException e) {
            httpRequest.abort();
            last = e;
        }
    }

    throw last;
}

Je suis surtout inquiet au sujet de la connexion dans un état qui n'est pas valide sur les tentatives suivantes. En d'autres termes, dois-je recréer complètement 'httpRequest', dois-je éviter d'appeler httpRequest.abort() dans le bloc catch, et seulement l'appeler dans la rupture finale?

Grâce

OriginalL'auteur user291701 | 2010-10-14