连接无法读取,空闲后会超时

问题描述

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 应用程序启动时,ServiceAServiceB(第三方)发出的请求将成功,没有任何问题。大约 1-1.5 小时没有请求后,ServiceAServiceB 发出的第一个请求将导致连接超时,无法读取,但第二个请求将成功。是什么原因导致连接空闲一段时间后无法读取和超时?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)