Thanks for Oleg's answer. But I don't really know what you mean. Here is my understand.
when call httpclient.execute(), it connect the server successfully, and read response from the server. but the server's data transfer is so slow, so httpclient blocking to read the response so long time. Now if i call the function already : setSocketTimeout(120000), but the socket timeout will not effective at all. the httpclient still blocking to wait response. Is this right? thanks! ------------------ 原始邮件 ------------------ 发件人: "Oleg Kalnichevski";<[email protected]>; 发送时间: 2014年7月28日(星期一) 下午5:19 收件人: "HttpClient User Discussion"<[email protected]>; 主题: Re: A question about the timeout of httpclient On Mon, 2014-07-28 at 15:22 +0800, 风 wrote: > i have set the timeout of the httpclient, code is here: > RequestConfig config = RequestConfig.custom() > .setSocketTimeout(120000) > .setConnectTimeout(120000) > .setConnectionRequestTimeout(120000) > .build(); > httpclient = HttpClients.custom() > .setDefaultRequestConfig(config) > .setRedirectStrategy(myRedirectStrategy) > .setRoutePlanner(routePlanner) > .build(); > > > > But when i call httpclient.execute(), it will still block here so long time > great than 120000 milisecond. > why the timeout is not effective? please help! This is because socket timeout defines a maximum period of inactivity between two consecutive read operations, and not an absolute operation deadline. Hope this helps Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
