Hello Himanshu,

you can create your own HttpState object and pass it
to each method invocation. That should solve your first
problem.

Why don't you leave the connection re-use to the
connection manager? For an application, it shouldn't
matter at all whether it is the same or a different
connection. If it is an absolute requirement, you can
still implement your own connection manager.

cheers,
  Roland






Himanshu Thube <[EMAIL PROTECTED]>
03.06.2004 18:24
Please respond to "Commons HttpClient Project"
 
        To:     [EMAIL PROTECTED]
        cc: 
        Subject:        HttpConnection and HttpState reuse problem


Hi

In my class I need two connections to same host and different URL's. For 
connecting first time, I want to get the HttpState and HttpConnection. 
Later just execute the method using the same HttpConnection and HttpState.

However from API I found, to get the state I need to execute the method 
with HttpClient for the first time as only HttpClient is able to return 
the HttpState. For the later executions of GetMethod I am not able to 
reuse the HttpConnection used for first execution as HttpClient doesn't 
provide me a handle to the HttpConnection which it used for first 
execution.

My existing code is as follows :

*For first invocation *:

        httpsclient = new HttpClient();
        int statusCode = -1;
        String [] response=new String[2]; 
        httpsget = new GetMethod(uri.toString());
        statusCode = httpsclient.executeMethod(httpsget);
        state=httpsclient.getState();

*For Later invocations : (now I have the HttpsState but no handle to 
HttpConnection used :( so have to create a new HttpConnection)*

if(con==null) {
            try {
                con=new HttpConnection(uri.getHost(), uri.getPort(), 
getProtocol());
            } catch (URIException e1) {
                e1.printStackTrace();
            } 
        }
            try {
                httpsget.recycle();
                httpsget.setPath(connectUrl);
                httpsget.execute(state, con);
            } catch (IOException e) {
                e.printStackTrace();
            }


---------------------------------------------------------------------
To unsubscribe, e-mail: 
[EMAIL PROTECTED]
For additional commands, e-mail: 
[EMAIL PROTECTED]


Reply via email to