HttpClient4.x CloseableHttpClient 单例问题

刺猬的果子 发布于 2015/08/07 17:04
阅读 5K+
收藏 0

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

整个项目使用一个CloseableHttpClient实例是否适合,高并发情况下是否会响应数据混淆,希望高手赐教
加载中
0
当C罗爱上梅西
当C罗爱上梅西

我今天也遇到了同样的疑惑,貌似httpclient4.x推荐使用单例的 HttpClient,因为HttpClient资源非常昂贵,而ConnectionManager中已经做了连接池功能,不过我没看到官方有这样的说法,楼主找到疑惑了吗

0
刺猬的果子
刺猬的果子
目前用的单例,没发现有啥问题
0
z
zhangleijie

CloseableHttpClient  多线程不能同时使用该对象会有线程安全问题 , 本人亲自测试过。 改用HttpClient 对象就可以了!

0
z
zhangleijie

引用来自“zhangleijie”的评论

CloseableHttpClient  多线程不能同时使用该对象会有线程安全问题 , 本人亲自测试过。 改用HttpClient 对象就可以了!

本人在后面又测试了,修正下上面的答复。在多线程使用同一个CloseableHttpClient  对象时, 不要调用close方法。 否则后面的线程调用时会出现连接数的问题; 应该调用对应的HttpGet或者HttpPost对象的  releaseConnection方法。这样才可以保证多线程的安全访问。 另外本人测试时 发现httpclient3比httpclient4 快8-10秒。 

0
z
zhangleijie

引用来自“beidao-ai”的评论

我今天也遇到了同样的疑惑,貌似httpclient4.x推荐使用单例的 HttpClient,因为HttpClient资源非常昂贵,而ConnectionManager中已经做了连接池功能,不过我没看到官方有这样的说法,楼主找到疑惑了吗

楼主是亚信的吗?

0
刺猬的果子
刺猬的果子

不是亚信,现在使用连接池,没问题了,3Q各位

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部