IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

HttpClient et "connection still allocated"


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut HttpClient et "connection still allocated"
    Bonjour,

    je rencontre un petit problème concernant la récupération d'un fichier suivi du chargement d'une page web.

    1/ si je ferme le flux avec consume(), bien évidement je me retrouve avec le flux qui est fermé au niveau de new ZipInputStream(stream);
    2/ si je ne ferme pas le flux avec consume(), dans la seconde étape la connexion est toujours allouée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    static void download() throws ClientProtocolException, IOException {
    		DefaultHttpClient httpClient = new DefaultHttpClient();
    		HttpGet httpGet = new HttpGet(
    				"http://www.test.fr/file1");
    		HttpResponse response = httpClient.execute(httpGet);
    		HttpEntity entity = response.getEntity();
    		InputStream stream = entity.getContent();
    		if (response.getEntity() != null) {
    			 EntityUtils.consume(response.getEntity());
    		}
    		ZipInputStream zipInputStream = null;
    		ZipEntry zipEntry = null;
    		zipInputStream = new ZipInputStream(stream);
    		zipEntry = zipInputStream.getNextEntry();		
    		HttpGet httpGet1 = new HttpGet("http://www.test.fr/page1.html");
    		HttpResponse response1 = httpClient.execute(httpGet);
    	}
    Code Cas 1 avec consume() - Erreur ligne #14 : Sélectionner tout - Visualiser dans une fenêtre à part
    Attempted read from closed stream
    Code Cas 1 sans consume() - Erreur ligne #15 : Sélectionner tout - Visualiser dans une fenêtre à part
    Invalid use of SingleClientConnManager: connection still allocated
    Auriez vous une petit idée ?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Lire le zipInputStream puis le fermer ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 265
    Points : 179
    Points
    179
    Par défaut
    Ça fonctionne !!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zipInputStream.close();
    Je m'y mélange les pinceaux avec ces fermetures de flux.

    Une fois de plus, merci !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo