hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Himanshu Thube <himans...@kenati.com>
Subject Re: PostMethod 's recycle method has problem
Date Fri, 11 Jun 2004 17:58:02 GMT
Thanks Oleg & Ortwin

It seems I will have to use approach suggested by you. Will create new 
PostMethod object every time and use
HttpMethod#releaseConnection. By the way, even in my earlier code I had 
set timeout to 15000.

Regards,
Himanshu

Kalnichevski, Oleg wrote:

>Himanshu,
>
>Try setting socket timeout to a non-zero value. HttpMethod#recycle among many things calls
HttpMethod#releaseConnection which in its turn attempts to reads the remaining response content
to make sure that connection reusable. If the socket timeout is not set, releaseConnection
may hang indefinitely under certain circumstances (target server is slow, congested network,
etc)
>
>Besides, I want to echo Odi's comment: there's nothing to be gained from method recycling.
Just create a new HTTP method every time you need to execute an HTTP request. Do not forget
to call HttpMethod#releaseConnection, though
>
>Oleg
>
>-----Original Message-----
>From: Himanshu Thube [mailto:himanshut@kenati.com]
>Sent: Friday, June 11, 2004 17:52
>To: Commons HttpClient Project
>Subject: Re: PostMethod 's recycle method has problem
>
>
>Hi Christopher
>
>Well thats the main problem. When my code comes to asynchPost.recycle()
>in code below the program hangs !!
>
>I am giving some code below to give an idea. This is not the original
>code though. Does anybody know whats wrong here  ??
>
>
>while(myflag) {
>
>if(asyncState!=null) {
>asynchPost.execute(asyncState,asyncConnection);
>} else {
>statusCode = asynchHttpsclient.executeMethod(asynchPost);
>asyncState=asynchHttpsclient.getState();
>}
>
>        if(asynchPost==null) {
>            if(usehttps) {
>                asynchPost = new PostMethod(httpsasynchUri.toString());
>            } else {
>                asynchPost = new PostMethod(httpasynchUri.toString());
>            }          
>        } else if (asynchPost.hasBeenUsed()) {
>           asynchPost.recycle();        
>        }
>        if(deviceProperty.getRequestObject()!=null) {
>            Document
>request=(Document)deviceProperty.getRequestObject();   
>            asynchPost.setRequestBody(new
>String(MyUtils.getBytesOfDom(request)));
>        }
>}
>Foran, Christopher wrote:
>
>  
>
>>I think I know the answer to this one.  You need to call .recycle()
>>after every .execute().
>>
>>-----Original Message-----
>>From: Himanshu Thube [mailto:himanshut@kenati.com]
>>Sent: Thursday, June 10, 2004 10:18 PM
>>To: commons-httpclient-dev@jakarta.apache.org
>>Subject: PostMethod 's recycle method has problem
>>
>>
>>Hi all,
>>
>>Thanks for all your answers for my questions till now. I have a problem
>>with PostMethod. When I reuse the same method it gives a exception that
>>PostMethod  needs to be recycled. So I had put a check with help of
>>hasbeenUsed() method of PostMethod and trying to recycle the PostMethod.
>>
>>Unfortunately my program hangs :( when it reaches recycle() call or even
>>
>>if I try to print the ResponseBody of method.
>>
>>Can someone let me know where could be the problem ??
>>
>>Just to menthion, I am calling same post method with same request and
>>URL in a indefinite while loop until someone sets the while flag to
>>false.
>>
>>- Himanshu
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail:
>>commons-httpclient-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail:
>>commons-httpclient-dev-help@jakarta.apache.org
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org
>>
>>
>>
>>
>>
>>    
>>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org
>
>
>***************************************************************************************************
>The information in this email is confidential and may be legally privileged.  Access to
this email by anyone other than the intended addressee is unauthorized.  If you are not the
intended recipient of this message, any review, disclosure, copying, distribution, retention,
or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful.
 If you are not the intended recipient, please reply to or forward a copy of this message
to the sender and delete the message, any attachments, and any copies thereof from your system.
>***************************************************************************************************
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org
>
>
>
>  
>



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org


Mime
View raw message