How to make the HTTP connection timeout/disconnected after a time interval?
Solution 1
There are 2 timeouts involved in HTTPClient, try to set both,
client.getHttpConnectionManager().
getParams().setConnectionTimeout(5000);
client.getHttpConnectionManager().
getParams().setSoTimeout(5000);
However, the values will be ignored if the connection is stuck in a native socket call. So you might have to run the request in a different thread so you can time it out. See my answer to this question on how to do that,
Solution 2
The connection manager timeout triggers when the act of trying to get a connection from your connection manager takes too long. This is not the same as the timeout for the http connection itself. Use HttpClientParams.setSoTimeout() instead.
Related videos on Youtube
mebada
Updated on June 04, 2022Comments
-
mebada almost 2 years
I am new in Apache
HttpClient
, I used the following code to get the HTTP connection timeout (disconnected) after certain time interval:PostMethod method = new PostMethod(authURL); HttpClient client = new HttpClient(); HttpClientParams params= new HttpClientParams(); params.setParameter(params.CONNECTION_MANAGER_TIMEOUT, 10); //10 Nano second client.executeMethod(method);
but it wait for more than one minute without any hope to timeout/disconnect? Where can the problem be?
-
mebada over 14 yearsthanks for your reply,,, I have tried the HttpClientParams.setSoTimeout() but the problem still there,ny more suggestions,,,,