这是我的Rest Template配置,
@Bean
@Qualifier("myRestService")
public RestTemplate createRestTemplate(@Value("${connection.timeout}") String maxConn) {
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(maxTotalConn);
connectionManager.setDefaultMaxPerRoute(maxPerChannel);
RequestConfig config = RequestConfig.custom().setConnectTimeout(100000).build();
CloseableHttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connectionManager)
.setDefaultRequestConfig(config).build();
ClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
RestTemplate restTemplate = new RestTemplate(factory);
restTemplate.setErrorHandler(new RestResponseErrorHandler());
restTemplate.setMessageConverters(createMessageConverters());
return restTemplate;
}
我正在使用PoolingHttpClientConnectionManager来管理连接。
以下是访问该连接的代码:
ResponseEntity<String> response = restClient.exchange( url, HttpMethod.GET, entity , String.class );
在上述调用之后,我是否需要释放连接或RestTemplate会处理它。如果我们需要释放连接,则需要注意。
请问有人可以解释/展示如何释放连接吗?