1. ホーム

SocketTimeoutExceptionです。読み込みがタイムアウトしました

2022-02-08 22:38:12
<パス

問題の説明 RestTemplateを使用し、該当の呼び出しコードでインターフェースを呼び出すと、この例外が発生します。

ResponseEntity
 responseEntity;
        try {
            responseEntity = restTemplate.getForEntity( url, ResultVO.class );
        } catch (Exception e) {
            log.error("ops failed to get item" + e.getMessage());
            throw new OAuth2Exception( FAILED_TO_GET_PROJECT );
        }


理由: リンクの取得中に httpClient がタイムアウトしました。
解決方法 タイムアウト時間を長く設定する

@Bean
public RestTemplate restTemplate() {
    // use of complex constructors
    SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
    requestFactory.setConnectTimeout(30000);// set timeout
    requestFactory.setReadTimeout(30000);
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.setRequestFactory(requestFactory);
    return restTemplate;
}


解決済みです。