问题描述
ServiceA
使用使用 RestTemplate
的新实例(不是 Spring 创建的默认实例)创建的 RestTemplateBuilder
向第三方服务发送请求。
@Service
public class ServiceA {
private static final String URL_B = "...";
private RestTemplate restTemplate;
public ServiceA() {
restTemplate = new RestTemplateBuilder()
.uriTemplateHandler(new UriTemplateHandler() {
//...
})
.build();
}
public ResponseB getResponseAForServiceB() {
return restTemplate.getForObject(URL_B,ResponseB.class);
}
}
当 Spring Boot 应用程序启动时,ServiceA
向 ServiceB
(第三方)发出的请求将成功,没有任何问题。大约 1-1.5 小时没有请求后,ServiceA
向 ServiceB
发出的第一个请求将导致连接超时,无法读取,但第二个请求将成功。是什么原因导致连接空闲一段时间后无法读取和超时?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)