Warum HttpClient werfen eine SocketTimeOutException bei der Ausführung von POST

Habe ich einen ähnlichen code wie den folgenden:

try {
    HttpPost post = new HttpPost(httpsUrl);
    setHeaders(post);

    HttpEntity entity = new StringEntity(request, "UTF-8");

    post.setEntity(entity);

    HttpResponse response = httpclient.execute(post);
    String result = EntityReader.readContent(response.getEntity());
    checkAnswer(result);
    return result;

} catch (Exception e) {
    throw new ZapException("Error executing the http post request: "+e.getMessage(), e);
}

Sendet er den Inhalt request zu einem server, der per POST mit einem httpclient-Instanz, die möglicherweise schon vorher verwendet worden (es hat persistente verbindungen aktiviert, da schicken wir schon einige Anfragen an den gleichen server...).

Diese manchmal schlägt mit einem SocketTimeoutException mit "Read timed out" als die Nachricht.
Es ist nicht klar für uns, warum es schlägt nur zu bestimmten Zeiten, wenn die meiste Zeit es nicht. Was gibt?

  • Ich habe ein ähnliches problem beim senden von mehreren Anfragen zu solr w/ tomcat-7. was, schicken Sie die Anfragen an? was sind die details des Servers, da das ist, wo die Fehler stammen von
  • Ich glaube, es war der Jetty-6. Aber das war schon eine Weile zurück...
InformationsquelleAutor kungfoo | 2010-07-02
Schreibe einen Kommentar