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:[EMAIL PROTECTED] 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:[EMAIL PROTECTED] Sent: Thursday, June 10, 2004 10:18 PM To: [EMAIL PROTECTED] 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: [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]
*************************************************************************************************** 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]