Apache http client v4.5 kullanıyorum ve REST istemcisi olarak kullanıyorum. Bazı durumlarda bir hatayı biliyorum "[oku] I/O hatası: "Zaman aşımına uğradı", alınan içeriği okuduğunda ve son bir ileti olarak gösterdiğinde httpclient çerçevesinden gelir.Apache Http İstemcisi "[okuma] G/Ç hatası yazdırır:" Zaman aşımına uğradı ""
Bir etkisi olmayacak gibi görünüyor, ancak birisinin nerede bir fikri olduğunu merak ediyorum. gelen ve nasıl çözülebileceği. aşağıdaki konu (link) o "mutlithreaded" yapılandırmasında bir sorun olarak görünmektedir göre.
ben http istemci yalnızca varsayılan yapılandırması kullanan Ancak ben kullanıyorum iken edilir sürüm v4 Ben hiçbir ipucu yok ben "çok iş parçacıklı" ayarını, herhangi bir fark yaratıp yaratmadığını görmek için false olarak ayarlayabilirim.
Ayrıca zaman aşımlarını ayarlamayı denedim, ancak yardımcı olmadı.
Herhangi bir ipucu?
Giriş:
15:48:05.984 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "HTTP/1.1 200 OK[\r][\n]"
15:48:05.984 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Date: Tue, 29 Dec 2015 14:48:03 GMT[\r][\n]"
15:48:05.984 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Server: Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.6.8[\r][\n]"
15:48:05.984 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "X-Powered-By: PHP/5.6.8[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Cache-Control: nocache, private[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Content-Length: 99[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Keep-Alive: timeout=5, max=99[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Connection: Keep-Alive[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "Content-Type: application/json[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "[\r][\n]"
15:48:05.985 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "{"success":true,"data":{"id":1946,"location":"http:\/\/localhost:9001\/shop\/api\/articles\/1946"}}"
15:48:06.016 [main] DEBUG org.apache.http.wire - http-outgoing-8 << "[read] I/O error: Read timed out"
benim Http istemci başlatma Bir istek üzerine zaman aşımları ayarlayarak, benim durumumda httpclient 4.5.2 ve kullanıyorum
HttpClientBuilder httpBuilder = HttpClientBuilder.create();
// set timeout did not helped
// RequestConfig.Builder requestBuilder = RequestConfig.custom();
// requestBuilder = requestBuilder.setConnectTimeout(timeout);
// requestBuilder = requestBuilder.setConnectionRequestTimeout(timeout);
// requestBuilder = requestBuilder.setSocketTimeout(timeout);
// httpBuilder.setDefaultRequestConfig(requestBuilder.build());
HttpClient httpClient = httpBuilder.build();
. * Kodunuz * yazdırır. Ne sorduğunuzu net değil, – EJP
Hangi apache http istemcisini kullanıyorsunuz? Peki ben birileri "[okuma] G/Ç hatası: zaman aşımına uğradı" hata mesajının neden olduğunu anladığını soruyorum. – megloff
Bunu ben de görüyorum. Ayrıca, DEBUG gibi bir istisnanın atılmadığını ve HATA olarak kaydedilmediğini de belirtmek gerekir. – BrianC