Skip to content

Instantly share code, notes, and snippets.

@sirius2k
Created June 18, 2018 00:47
Show Gist options
  • Save sirius2k/744907991d866e10b494f3b0471547ee to your computer and use it in GitHub Desktop.
Save sirius2k/744907991d866e10b494f3b0471547ee to your computer and use it in GitHub Desktop.
Spring RestTemplate initialization example including timeout configuration
@Configuration
@Slf4j
public class RestTemplateConfig {
@Value("${restTemplate.timeout.msec:5000}")
private int timeoutInMillisecond;
@Bean
public HttpComponentsClientHttpRequestFactory httpRequestFactory() {
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
httpRequestFactory.setConnectionRequestTimeout(timeoutInMillisecond);
httpRequestFactory.setConnectTimeout(timeoutInMillisecond);
httpRequestFactory.setReadTimeout(timeoutInMillisecond);
LOGGER.debug("HttpRequestFactory configuration. connectionRequestTimeout(msec) : {}, connectTimeout(msec) : {}, readTimeout(msec) : {}",
timeoutInMillisecond,
timeoutInMillisecond,
timeoutInMillisecond
);
return httpRequestFactory;
}
@Bean
public RestTemplate restTemplate(HttpComponentsClientHttpRequestFactory httpRequestFactory) {
return new RestTemplate(httpRequestFactory);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment