HttpClient 4 - MultiThreadedHttpConnectionManager发生了什么?

时间:2011-12-19 01:34:56

标签: java httpclient

我正在用HttpClient 4编写一个swing应用程序。

我现在通过将ThreadSafeClientConnManager传递给我的共享HttpClient实例来遵循标准方法。但现在我希望能够同时执行多个请求/下载...

我为MultiThreadedHttpConnectionManager找到了HttpClient 3.x的一些示例,但是我可以将其用于版本4.x吗?如果是这样的话?我尝试过但没有成功......

谢谢;)

2 个答案:

答案 0 :(得分:14)

在4.x中,等效的是池化连接管理器。您可以在Pooling connection manager here部分中详细了解其用法。我还强烈建议你在他们的论坛上read this thread

答案 1 :(得分:1)

javadoc中没有任何迹象表明DefaultHttpClient实例是线程安全的。

因此,我认为您应该为每个活动创建一个HttpClient实例...使用公共/共享ThreadSafeClientConnManager实例。这应该允许您重用HttpClient个实例之间的连接。只需确保不要关闭连接管理器。

版本3.x和4.x之间的API差异很大,如果一个示例对另一个示例有帮助,我会感到惊讶。