打开stale check会让每次http请求额外消耗15毫秒。而且stalecheck选项缺省是打开的。

这有必要吗????

在局域网里面调用web api service的时候会死人的。

http://stackoverflow.com/questions/11219325/why-does-defaulthttpclient-send-data-over-a-half-closed-socket
http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html
http://www.mail-archive.com/httpclient-users@hc.apache.org/msg02710.html

去查了一些资料,发现我们为了性能都应该关闭stalecheck。

有人建议java的httpClient需要在连接池里面加上一个idle monitor thread去把broken的连接去除掉。否则re-use的stale connection可能已经被server断开了,则会引起异常。

但是由于java的传统通讯方式是阻塞的,所以全局的idle monitor thread是无法通用的。为了支持大量连接,为每个连接配置一个monitor thread也是不可行的。

因此,apache httpClient的官方文档建议:

ClientConnectionManager#closeExpiredConnections()
ClientConnectionManager#closeIdleConnections()
调用者要自己定时调用上述两个方法之一,来减少broken stale connections

与此同时,调用者需要自己决定,当发现io exception的时候,是否要retry。

最新文章

  1. XAMARIN.ANDROID SIGNALR 实时消息接收发送示例
  2. Eclipse中启动tomcat报错:A child container failed during start
  3. 企业好助手U-Mail邮件服务器软件
  4. java 内部类1
  5. ASP.NET MVC+EasyUI+Entity FrameWork 整合开发
  6. Linux系统编程读书笔记
  7. 与你们分享我学习linux系统的三大妙招
  8. 函数响应式编程及ReactiveObjC学习笔记 (四)
  9. 深度解析continue,break和return
  10. R语言︱数据规范化、归一化
  11. Windows环境下,从零开始搭建Nodejs+Express+Ejs框架(一)---安装nodejs
  12. C语言中使用bool
  13. linux环境下安装jmeter,启动执行脚本
  14. Kite(几何+镜面对称)
  15. Python数据结构——栈的链表实现
  16. Xstream将XML转换为javabean的问题
  17. linux 图形配置网络
  18. python 命名空间和作用域
  19. JavaWeb中读取文件资源的路径问题 -- 转自新浪博客
  20. PHPMailer发送邮件(一)

热门文章

  1. Cocos2d-X3.0 刨根问底(九)----- 场景切换(TransitionScene)源代码分析
  2. C语言scanf函数详解
  3. Handler和HandlerThread
  4. Android studio ElasticDownloadView
  5. ORACLE 中的一些特殊符号
  6. exe解析
  7. 【LeetCode】Min Stack 解题报告
  8. 在 Ubuntu 12.04 上通过安装源安装 Open vSwitch (OVS)
  9. JAVA泛型之<? extends T>:(通配符上限)和<? super T>(通配符下限)
  10. [初探iOS开发]storyboard的使用