hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vijay kolli <vijay.kolli.andr...@gmail.com>
Subject Re: set different socket timeout for same httpclient using MultiThreadedHttpConnectionManager
Date Fri, 02 Dec 2011 14:55:43 GMT
So is it fine if we do something like this. This would end up creating
a new http client for each method call. would this not effect any of
the performance
	public void send(String message, String url, int timeout)
	{
                 MultiThreadedHttpConnectionManager connectionManager
=  new MultiThreadedHttpConnectionManager();
                  HttpClient httpClient =  new HttpClient(connectionManager);
                 HttpConnectionManagerParams managerParams;
                managerParams.setSoTimeout(timeout);
                connectionManager.setParams(managerParams);
		PostMethod post = new PostMethod(url);
		String reply = "";
		try
		{
			String length = message.length() + "";
			post.setRequestHeader("Content-Length", length);
				StringRequestEntity postBody = new StringRequestEntity(message,
"text/xml", "UTF-8");
			post.setRequestEntity(postBody);
			int status = httpClient.executeMethod(post);
				reply = post.getResponseBodyAsString();
		}
		
	}



On Thu, Dec 1, 2011 at 4:36 PM, William Speirs <wspeirs@apache.org> wrote:
> Depending on you performance needs, you could make a new client in each
> send call, and the set the socket timeout.
>
> Bill-
> On Dec 1, 2011 5:22 PM, "vijay kolli" <vijay.kolli.android@gmail.com> wrote:
>
>> i have two threads using the same instance of the HTTPClientTest. two
>> threads call the send method on the same HTTPClientTest. how should i
>> set a different socket timeout for each of those threads that call the
>> send method. if i do something like this within the send method then
>> both threads executing the send method would have same socket timeout.
>> managerParams.setSoTimeout(60);connectionManager.setParams(managerParams);
>>
>> how should i create a different socket timeout for multiple threads
>> executing the send method on the same instance of HTTPClientTest.
>>
>> public class HTTPClientTest implements Runnable{
>> private HttpClient httpClient;
>> private MultiThreadedHttpConnectionManager connectionManager;
>> private HttpConnectionManagerParams managerParams;
>> private HttpClientTest()
>> {
>>     connectionManager = new MultiThreadedHttpConnectionManager();
>>     httpClient = new HttpClient(connectionManager);
>> }
>> public static synchronized HTTPClientTest getInstance()
>> {
>>    if(instance == null)
>>        instance = new HTTPClientTest();
>>    return instance;
>> }
>>
>> public void send(String message, String url)
>> {
>>    PostMethod post = new PostMethod(url);
>>    String reply = "";
>>    String length = message.length() + "";
>>    post.setRequestHeader("Content-Length", length);
>>    try
>>    {
>>        System.out.println("HTTP request: " + message);
>>        StringRequestEntity postBody = new
>> StringRequestEntity(message, "text/xml", "UTF-8");
>>        post.setRequestEntity(postBody);
>>        int status = httpClient.executeMethod(post);
>>        System.out.println("HTTP status: " + status);
>>        reply = post.getResponseBodyAsString();
>>        System.out.println("HTTP Post response code: " + reply);
>>
>>    }
>>    catch(HttpException e) {
>>        e.printStackTrace();
>>    }
>>    catch(IOException e)
>>    {
>>        e.printStackTrace();
>>    }
>>    catch(Exception e)
>>    {
>>        e.printStackTrace();
>>    }
>>    finally
>>    {
>>        post.releaseConnection();
>>    }
>>
>> }
>> }
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
>> For additional commands, e-mail: httpclient-users-help@hc.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message