我需要更改 Web 服务调用的超时。 尽管在几个地方进行了配置更改,但我在 30 秒后进入超时状态。 有什么想法吗?
我的配置:
private static final Duration CUSTOM_TIMEOUT = Duration.ofMinutes(5);
...
RequestConfig config = RequestConfig.custom()
.setSocketTimeout(300000)
.setConnectTimeout(300000)
.setConnectionRequestTimeout(300000)
.build();
CloseableHttpClient client = HttpClientBuilder
.create()
.setDefaultRequestConfig(config)
.build();
RestTemplate restTemplate = new RestTemplateBuilder()
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.errorHandler(new RestTemplateResponseErrorHandler())
.setConnectTimeout(CUSTOM_TIMEOUT)
.setReadTimeout(CUSTOM_TIMEOUT)
.build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(client);
factory.setConnectTimeout(300000);
factory.setReadTimeout(300000);
factory.setConnectionRequestTimeout(300000);
restTemplate.setRequestFactory(factory);
谢谢
网关超时 (504) 表示您正在通话的服务器已达到其自身等待其他服务的超时。
该服务器的超时似乎是 30 秒,无论您使用什么库,您都无法从代码中配置它。