I need to consider performance in my application. I am just doing a
normal http connection nothing like via SSL. So what could be the
overhead of creating a separate httpclient on each send call.

On Fri, Dec 2, 2011 at 9:24 AM, William Speirs <[email protected]> wrote:
> Yea... I mentioned performance only because there is some overhead in
> creating a new client, especially if you're talking to servers via SSL as
> it needs to load the key store, etc.
>
> If this is not a high performance app, then you should be find with this...
>
> Bill-
>
> On Fri, Dec 2, 2011 at 9:55 AM, vijay kolli
> <[email protected]>wrote:
>
>> 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 <[email protected]> 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" <[email protected]>
>> 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: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to