gpt4 book ai didi

java - 设置 connectTimeout 和 readTimeout 后 RestTemplate 未超时

转载 作者:行者123 更新时间:2023-12-02 09:58:39 25 4
gpt4 key购买 nike

我有 Spring Boot 基础设施,但微服务很少。他们彼此之间沟通得很好。其中一个微服务有一些第三方调用,通过http调用一些第三方服务。我已经定义了自己的 RestTemplate,并在 init() 方法中设置 connectTimeout 和 readTimeout。从堆栈跟踪中我看到我的其余模板已被使用。

  @PostConstruct
public void init() {

HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setConnectTimeout(connectTimeout);
requestFactory.setReadTimeout(readTimeout);
this.restTemplate = new RestTemplate(requestFactory);
}

问题是一些请求处理了几分钟并且没有抛出异常。 (我的超时时间要少得多 - 大约 5-10 秒)可能是什么原因?有什么想法吗?

最佳答案

缺少对 setConnectionRequestTimeout(...) 的调用;

HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setConnectTimeout(connectTimeout);
requestFactory.setReadTimeout(readTimeout);
requestFactory.setConnectionRequestTimeout(...);
this.restTemplate = new RestTemplate(requestFactory);

Spring RestTemplate timeout

关于java - 设置 connectTimeout 和 readTimeout 后 RestTemplate 未超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55793608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com