Behandeln Sie Verbindungs- und Lese-Timeouts für RestClient-Aufrufe in Android
Ich habe eine RestService-Schnittstelle mit vielen Rest-Aufrufen, die ich in meiner gesamten Anwendung verwende.
Ich stelle Timeouts für die Bearbeitung einconnection
undread-timeouts
ClientHttpRequestFactory httpFactory = myRestService.getRestTemplate().getRequestFactory();
if(httpFactory!=null)
{
if(httpFactory instanceof SimpleClientHttpRequestFactory)
{
((SimpleClientHttpRequestFactory)httpFactory).setConnectTimeout(10*1000);
((SimpleClientHttpRequestFactory)httpFactory).setReadTimeout(30*1000);
}
else if(httpFactory instanceof HttpComponentsClientHttpRequestFactory)
{
((HttpComponentsClientHttpRequestFactory)httpFactory).setConnectTimeout(10*1000);
((HttpComponentsClientHttpRequestFactory)httpFactory).setReadTimeout(30*1000);
}
}
Aber ich bin fest mit der Timeout-Situation. Ich habe überlegt, diese Methode zu verwenden, aber sie kommt nicht in diese Schleife, wenn der Rest-Aufruf fehlschlägt.
myRestService.getRestTemplate().setErrorHandler(new ResponseErrorHandler()
{
@Override
public boolean hasError(ClientHttpResponse paramClientHttpResponse) throws IOException
{
Log.e(TAG, paramClientHttpResponse==null?"Null response" : ("Has Error : " + paramClientHttpResponse.getStatusText()+" , status code : "+paramClientHttpResponse.getStatusCode()));
return false;
}
@Override
public void handleError(ClientHttpResponse paramClientHttpResponse) throws IOException
{
Log.e(TAG, paramClientHttpResponse==null?"Null response":("Handle Error : " + paramClientHttpResponse.getStatusText()+" , status code : "+paramClientHttpResponse.getStatusCode()));
}
});
Kann mir jemand dabei helfen ..!?