HttpClient v 4 Alpha 3: WARNING: Invalid use of SingleClientConnManager: 
connection still allocated.
----------------------------------------------------------------------------------------------------

                 Key: HTTPCLIENT-756
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-756
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient
    Affects Versions: 4.0 Alpha 3
         Environment: Windows XP Professional  / Eclipse 3.2 / JDK 1.6

commons-codec-1.3.jar
commons-email-1.1.jar
commons-lang-2.3.jar
commons-logging-1.1.1.jar
commons-logging-adapters-1.1.1.jar
commons-logging-api-1.1.1.jar
commons-logging-tests.jar
httpclient-4.0-alpha3.jar
httpcore-4.0-beta1.jar
httpcore-nio-4.0-beta1.jar
httpmime-4.0-alpha3.jar


            Reporter: Tov Are Jacobsen
            Priority: Minor



I get a warning and exception even though the connection has been consumed.

The code is listed here as well.

http://code.google.com/p/tovare/source/browse/trunk/src/com/tovare/bugs/ReproduceConnectionError.java

You can check out with subversion using (complete with libs):

svn checkout http://tovare.googlecode.com/svn/trunk/ tovare-read-only

(Note: The code yields the same result with a regular http request, rather than 
https as in the code).

/*
 * ReproduceConnectionError.java
 */

//
// JDK Compliance: JDK 6.0 
//
//First page: HTTP/1.1 200 OK
//07.mar.2008 23:06:12 org.apache.http.impl.conn.SingleClientConnManager 
revokeConnection
//WARNING: Invalid use of SingleClientConnManager: connection still allocated.
//Make sure to release the connection before allocating another one.
//java.lang.IllegalStateException: Revoking connection to 
HttpRoute[{}->http://www.yahoo.com]
//      at 
org.apache.http.impl.conn.SingleClientConnManager.revokeConnection(SingleClientConnManager.java:345)
//      at 
org.apache.http.impl.conn.SingleClientConnManager.getConnection(SingleClientConnManager.java:220)
//      at 
org.apache.http.impl.conn.SingleClientConnManager.getConnection(SingleClientConnManager.java:195)
//      at 
org.apache.http.impl.client.DefaultClientRequestDirector.allocateConnection(DefaultClientRequestDirector.java:508)
//      at 
org.apache.http.impl.client.DefaultClientRequestDirector.execute(DefaultClientRequestDirector.java:293)
//      at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:500)
//      at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:455)
//      at 
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:421)
//      at 
com.tovare.bugs.ReproduceConnectionError.main(ReproduceConnectionError.java:43)
//Second page: HTTP/1.1 200 OK


package com.tovare.bugs;


import java.io.*;
import java.net.URISyntaxException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.*;
import org.apache.http.client.params.ClientPNames;
import org.apache.http.client.params.CookiePolicy;
import org.apache.http.cookie.Cookie;
import org.apache.http.client.methods.*;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.HttpException;


/**
 * Trying to reproduce a bug.
 * 
 * @author Tov Are Jacobsen
 *
 */
public class ReproduceConnectionError {

        /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
                DefaultHttpClient client = new DefaultHttpClient();
                client.getParams().setParameter(
                ClientPNames.COOKIE_POLICY,
                CookiePolicy.BROWSER_COMPATIBILITY);
                HttpGet authget = new HttpGet("https://www.yahoo.com/";);
                HttpResponse resp = client.execute(authget);
                HttpEntity ent = resp.getEntity();
                if (ent == null) ent.consumeContent();
                System.out.println("First page: " + 
resp.getStatusLine().toString()); 
                
                HttpGet authget2 = new HttpGet("https://www.yahoo.com/";);
                HttpResponse resp2 = client.execute(authget2);
                HttpEntity ent2 = resp2.getEntity();
                if (ent2 == null) ent2.consumeContent();
                System.out.println("Second page: " + 
resp2.getStatusLine().toString()); 
                
        }
}


Regards,

Tov Are


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to