为了账号安全,请及时绑定邮箱和手机立即绑定

java.net.SocketException:使用 RestTemplate 发送 HTTP

java.net.SocketException:使用 RestTemplate 发送 HTTP

蝴蝶不菲 2023-06-14 16:07:48
我正在尝试将带有 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 服务设置的网络级别请求超时。我们不得不要求维护工程师增加超时时间,以便有时间处理我们的请求。

当然,设置请求持续时间限制是有原因的,必须考虑重构代码以分割长时间执行的请求,而不仅仅是增加超时。


查看完整回答
反对 回复 2023-06-14
  • 1 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信