• java.net.SocketTimeoutException: Read timed out 异常排查


    问题描述:使用RestTemplate调用接口出现该异常,相关调用代码:

    ResponseEntity<ResultVO> responseEntity;
            try {
                responseEntity = restTemplate.getForEntity( url, ResultVO.class );
            } catch (Exception e) {
                log.error("ops获取项目失败" + e.getMessage());
                throw new OAuth2Exception( FAILED_TO_GET_PROJECT );
            }
    

    原因:httpClient在获取链接时候超时
    解决:将超时时间设置久一点

    @Bean
    public RestTemplate restTemplate() {
        //复杂构造函数的使用
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setConnectTimeout(30000);// 设置超时
        requestFactory.setReadTimeout(30000);
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.setRequestFactory(requestFactory);
        return restTemplate;
    }
    

    解决了。

  • 相关阅读:
    hotel管理
    MySQL数据库的学习
    搭建纸飞机
    二维码
    Linux 的安装
    AngularJS学习笔记
    css3部分知识点
    如何处理数据
    jq跨域在127.0.0.1:8020上的写法
    AJAX请求方式
  • 原文地址:https://www.cnblogs.com/liuyupen/p/11162089.html
Copyright © 2020-2023  润新知