小编Eye*_*ter的帖子

如何正确实例化RestTemplate而不泄漏资源

请我有以下 bean 定义

 @Bean
    public RestTemplate produceRestTemplate(ClientHttpRequestFactory requestFactory){
        RestTemplate restTemplate = new RestTemplate(requestFactory);
        restTemplate.setErrorHandler(restTemplateErrorHandler);
        return restTemplate;
    }

@Bean
public ClientHttpRequestFactory createRequestFactory() {
    PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
    connectionManager.setMaxTotal(maxTotalConn);
    connectionManager.setDefaultMaxPerRoute(maxPerChannel);

    RequestConfig config = RequestConfig.custom().setConnectTimeout(100000).build();
    CloseableHttpClient httpClient = HttpClients.createDefault();
    return new HttpComponentsClientHttpRequestFactory(httpClient);
}
Run Code Online (Sandbox Code Playgroud)

该代码运行良好,但问题是 fortify 将上面的代码标记为以下代码可能存在问题

“函数 createRequestFactory() 有时无法释放第 141 行的 createDefault() 分配的套接字。”

请任何有任何想法的人了解如何在不加强警报的情况下正确执行此操作

提前致谢

spring fortify spring-rest

5
推荐指数
1
解决办法
3835
查看次数

标签 统计

fortify ×1

spring ×1

spring-rest ×1