gpt4 book ai didi

java - 使用 PoolingClientConnectionManager 时释放连接?

转载 作者:行者123 更新时间:2023-12-03 12:56:18 28 4
gpt4 key购买 nike

我正在使用 Apache DefaultHttpClientPoolingClientConnectionManagerBasicResponseHandler .这些在不同线程之间共享,每个线程创建自己的 HttpRequestBase 扩展。

使用 BasicResponseHandlers 时,我是否需要手动告诉经理我已完成使用连接?我是否需要将它包装在 finally 中以便异常不会导致连接泄漏?

换句话说,我需要这样做吗?

HttpGet get = new HttpGet(address);
try {
httpclient.execute(get, new BasicResponseHandler());
} finally {
get.reset();
}

或者这就够了?
HttpGet get = new HttpGet(address);
httpclient.execute(get, new BasicResponseHandler());

我在 Apache documentation. 中没有看到明确的答案

最佳答案

这已经足够了,值得推荐。
HttpClient#execute方法保证在发生异常(I/O 或运行时)时自动释放与请求相关的所有资源。当使用 ResponseHandler 处理 HTTP 响应时,底层连接会自动释放回连接管理器。

关于java - 使用 PoolingClientConnectionManager 时释放连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13728948/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com