我正在尝试将带有 Spring Rest 模板的 POST 请求发送到某个 URL 并获取 java.net.SocketException:连接重置。这是实际执行的代码片段: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]这可能是什么原因造成的?我已经阅读了一些关于封闭式套接字的内容,但我没有在这个级别上操作任何这些概念。
1 回答
温温酱
TA贡献1752条经验 获得超4个赞
事实证明,某些大 IP 服务设置的网络级别请求超时。我们不得不要求维护工程师增加超时时间,以便有时间处理我们的请求。
当然,设置请求持续时间限制是有原因的,必须考虑重构代码以分割长时间执行的请求,而不仅仅是增加超时。
添加回答
举报
0/150
提交
取消