HttpResponse#close() 对 BasicHttpClientConnectionManager 有什么影响?

问题描述

我在 Apache HttpClients 教程中读到 HttpResponse#close()关闭并丢弃连接。我的问题是,当我们使用仅管理单个连接的 BasicHttpClientConnectionManager 时,我调用 HttpResponse#close() 会不会因为连接已关闭和丢弃而无法重用相同的 HttpClient?

此外,当我没有明确设置连接管理器时。客户端使用哪个连接管理器。

我的 HttpClients 版本是 4.5.X。

解决方法

当客户端调用远程服务器时,双方都会建立连接,这称为 socket connection。套接字 remains active 直到任一方 close 它。

要回答您的问题,您仍然可以使用相同的 HttpClient,但您将创建一个新连接以发出另一个请求