我正在嘗試將帶有 Spring Rest 模板的 POST 請求發(fā)送到某個 URL 并獲取 java.net.SocketException:連接重置。這是實(shí)際執(zhí)行的代碼片段:ResponseEntity<Void> response = restOperations.exchange(eventLoggingHost, HttpMethod.POST, httpEntity, Void.class);我得到以下異常:java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[?:1.8.0_131] at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_131] at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_131] at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[?:1.8.0_131] at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[?:1.8.0_131] at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) ~[?:1.8.0_131] at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) ~[?:1.8.0_131] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1569) ~[?:1.8.0_131] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) ~[?:1.8.0_131] at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_131] at org.springframework.http.client.SimpleClientHttpResponse.getRawStatusCode(SimpleClientHttpResponse.java:55) ~[spring-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]這可能是什么原因造成的?我已經(jīng)閱讀了一些關(guān)于封閉式套接字的內(nèi)容,但我沒有在這個級別上操作任何這些概念。
1 回答

溫溫醬
TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個贊
事實(shí)證明,某些大 IP 服務(wù)設(shè)置的網(wǎng)絡(luò)級別請求超時。我們不得不要求維護(hù)工程師增加超時時間,以便有時間處理我們的請求。
當(dāng)然,設(shè)置請求持續(xù)時間限制是有原因的,必須考慮重構(gòu)代碼以分割長時間執(zhí)行的請求,而不僅僅是增加超時。
添加回答
舉報(bào)
0/150
提交
取消