2010-10-28 92 views
0

我正在使用HttpClient 3.1连接到不同的Web服务。我已将SO_TIMEOUT和ConnectionTimeout设置为3秒。我正在模拟一个需要超过3秒钟响应的服务。但是,实际的超时时间要长得多,达到几分钟甚至更长时间。最后,服务器内存不足,失速。HttpClient超时缓慢压力

这是怎么回事?为什么我的连接不及时超时?

+0

看来我一直在单线程模式下使用HttpClient。在我更改了代码以使用MultiThreadedHttpConnectionManager并增加了连接数后,它开始按照它应有的工作。之前,它似乎是序列化呼叫。 – Dan 2010-11-02 00:16:04

回答

0

仅当HTTP连接处于非活动状态时,才会启动SO_TIMEOUT。你确定,你的连接闲置?或者你的服务器发送任何分块响应?

+0

我已经放置了Thread.sleep() – Dan 2010-11-02 00:14:09