HTTPClient实例是否不打算重用?

the*_*ava 0 java web-services

为每个新请求重新使用HTTPClient实例是不好的做法.我request打算从雅虎获取数据webservice,现在在另一个页面我webservice打电话给谷歌.

我可以在这两个不同的页面中使用相同的HTTPClient实例,还是应该为两者创建新的HTTPClient对象?

Tom*_*icz 5

你绝对应该重复使用它们并HttpClient视为单身人士.在整个应用程序中重复使用单个实例可以利用保持活动连接并在调用之间保留cookie.

引用3.x 的官方文档:

通常,建议每个通信组件或每个应用程序都有一个HttpClient实例.但是,如果应用程序很少使用HttpClient,并且不保证在内存中保留HttpClient的空闲实例,则强烈建议在部署HttpClient实例之前显式关闭多线程连接管理器.这将确保正确关闭连接池中的所有HTTP连接.

这同样适用于4.x,请务必使用PoolingClientConnectionManager.