限制连接在HTTP客户端3.1中保持活动时间

时间:2014-11-07 17:28:01

标签: java http apache-commons-httpclient

我使用Apache HTTP客户端3.1和MultiThreadedHttpConnectionManager每两秒轮询一次API。每当部署新版本的API时,DNS条目都会更改为指向新服务器。由于我使用HTTP保持活动并且旧服务器没有关闭连接,我一直打旧服务器导致各种问题。使用IdleConnectionTimeoutThread没有帮助,因为连接永远不会空闲很长时间,我找不到允许我限制连接重用时间的设置。

我不想禁用keep alive,因为这会增加太多开销。我目前的想法是每分钟设置一个新的连接管理器,并在旧的连接管理器上调用shutdown()方法。但是,我不相信这是正确的做法。有没有其他方法可以解决这个问题?

我的限制是:

  • 我必须使用HTTP keep alive
  • 我无法控制API或服务的部署
  • 我无法更新到Apache HTTP客户端4.x或其他HTTP客户端

0 个答案:

没有答案