我有spring boot基础架构,只有很少的微服务。他们彼此之间交流得很好。其中一个微服务具有一些第三方调用,通过http调用一些第三方服务。我定义了自己的RestTemplate,并在init()方法中设置了connectTimeout和readTimeout。从堆栈跟踪中,我看到使用了我的rest模板。
@PostConstruct
public void init() {
HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setConnectTimeout(connectTimeout);
requestFactory.setReadTimeout(readTimeout);
this.restTemplate = new RestTemplate(requestFactory);
}问题是一些请求被处理了几分钟,并且没有抛出异常。(我的超时时间要短得多--大约5-10秒)可能的原因是什么?有什么想法吗?
发布于 2019-04-22 20:41:18
缺少对setConnectionRequestTimeout(...)的调用;
HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setConnectTimeout(connectTimeout);
requestFactory.setReadTimeout(readTimeout);
requestFactory.setConnectionRequestTimeout(...);
this.restTemplate = new RestTemplate(requestFactory);https://stackoverflow.com/questions/55793608
复制相似问题