RestTemplate交换方法错误:ResourceAccessException:POST请求的I / O错误:连接超时

时间:2019-09-21 17:00:17

标签: rest spring-mvc resttemplate

我在使用带有RestTemplate交换方法的REST API时遇到问题:

我尝试了其他一些公共API,并且使用相同的代码(只是更改了URL),所以我认为这不是我的代码有问题,但可能是网络代理或其他问题。

错误文字:

org.springframework.web.client.ResourceAccessException: I/O error on POST request for : Connection timed out: connect; nested exception is java.net.ConnectException: Connection timed out: connect

RestTemplate交换呼叫:

ResponseEntity<FooDto> reponseEntity = restTemplate.exchange(restUrl, HttpMethod.POST, httpEntity, FooDto.class);

1 个答案:

答案 0 :(得分:0)

此处定义其余模板的方式至关重要。您需要设置连接超时并读取超时。

将它们优化到不会降低应用程序响应速度的水平非常重要。

    SimpleClientHttpRequestFactory clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
    // Connect timeout: time is in milliseconds
    clientHttpRequestFactory.setConnectTimeout(3000);
    // Read timeout: time is in milliseconds
    clientHttpRequestFactory.setReadTimeout(3000);
    RestTemplate template = new RestTemplate(clientHttpRequestFactory);