我正在使用 PoolingHttpClientConnectionManager
在resttemplate配置中。当使用此工具时,我的intellijide会显示如下警告 'PoolingHttpClientConnectionManager' should be opened in front of a 'try' block and closed in the corresponding 'finally' block
.
但当我和 IdleConnectionEvictor
此警告未显示。
下面是我的代码
final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setDefaultMaxPerRoute(connectionPooling.getMaxConnections());
connectionManager.setMaxTotal(connectionPooling.getMaxConnections());
final HttpClient httpclient = HttpClientBuilder
.create()
.setConnectionManager(connectionManager)
.build();
final HttpComponentsClientHttpRequestFactory connectionFactory =
new HttpComponentsClientHttpRequestFactory(httpclient);
connectionFactory.setConnectTimeout(connectionTimeout);
connectionFactory.setReadTimeout(readTimeout);
connectionFactory.setConnectionRequestTimeout(connectionPooling.getConnectionRequestTimeoutMillis());
final BufferingClientHttpRequestFactory clientHttpRequestFactory =
new BufferingClientHttpRequestFactory(connectionFactory);
final RestTemplate restTemplate = new RestTemplate(clientHttpRequestFactory);
final IdleConnectionEvictor idleConnectionTimeoutThread =
new IdleConnectionEvictor(connectionManager,
connectionPooling.getIdleConnectionCheckMillis(), TimeUnit.MILLISECONDS,
connectionPooling.getIdleConnectionTimeoutMillis(), TimeUnit.MILLISECONDS);
idleConnectionTimeoutThread.start();
请解释一下它的工作原理
暂无答案!
目前还没有任何答案,快来回答吧!