[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roland Weber closed HTTPCLIENT-756.
-----------------------------------

    Resolution: Invalid

Hello Tov Are,

change this line in your code:
if (ent == null) ent.consumeContent(); 
to
if (ent != null) ent.consumeContent();

cheers,
  Roland


> 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