Comment résoudre l'erreur “Invalid use of BasicClientConnManager : assurez-vous de libérer la connexion avant d'allouer une autre:” dans Android?
Ici, je suis en train de POSTER des données à partir d'un mobile vers le serveur.Pour cette Première, j'ai de la connexion pour l'authentification sur le serveur. puis après je suis d'envoyer les données via une requête POST
J'ai vérifié ce stackoverflow question. HttpClient 4.0.1 - comment s'en libérer?
J'ai essayé toutes ces méthodes, un par un.
1.EntityUtils.consommer(entité);
2.est.close();
-
réponse.getEntity().consumeContent(); //dans ce consumeContent() montre pour être Obsolète
-
post.abort();
Voici mon code dans le pastebin liens s'il vous plaît vérifier ce point.
Voici le déroulement du programme.
-
De la première connexion est appelé
Consultez ICI MA DEMANDE de CONNEXION -
Après la connexion, et avant de poster idée CETTE méthode est appelée.
-
Et enfin poste idée méthode est appelée.
mais logcat m'indique erreur :
java.lang.IllegalStateException: utilisation incorrecte de BasicClientConnManager: connexion continue d'être affectée.
Assurez-vous de libérer la connexion avant d'attribuer un autre
W/System.err( 2217): java.lang.IllegalStateException: Invalid use of BasicClientConnManager: connection still allocated. W/System.err( 2217): Make sure to release the connection before allocating another one. W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.conn.BasicClientConnectionManager.getConnection(BasicClientConnectionManager.java:161) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.conn.BasicClientConnectionManager$1.getConnection(BasicClientConnectionManager.java:138) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:455) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:902) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:801) W/System.err( 2217): at ch.boye.httpclientandroidlib.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:780) W/System.err( 2217): at com.rahul.cheerfoolz.api.util.postData(util.java:436) W/System.err( 2217): at com.rahul.cheerfoolz.postidea.idea.post_myidea_edit$Post_Idea.doInBackground(post_myidea_edit.java:354) W/System.err( 2217): at com.rahul.cheerfoolz.postidea.idea.post_myidea_edit$Post_Idea.doInBackground(post_myidea_edit.java:1) W/System.err( 2217): at android.os.AsyncTask$2.call(AsyncTask.java:185) W/System.err( 2217): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) W/System.err( 2217): at java.util.concurrent.FutureTask.run(FutureTask.java:138) W/System.err( 2217): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) W/System.err( 2217): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) W/System.err( 2217): at java.lang.Thread.run(Thread.java:1019)
OriginalL'auteur Rahul Patel | 2012-10-09
Vous devez vous connecter pour publier un commentaire.
Lorsque vous créez un DefaultHttpClient avec spécifier toutes les ClientConnectionManager il crée par défaut un BasicClientConnectionManager et si vous consultez la javadoc dit:
Essayer de définir une PoolingClientConnectionManager avec configuration personnalisée pour vos besoins. Voyons un exemple simple:
Ceci est valable pour les HttpClient 4.2 depuis ThreadSafeClientConnManager est déconseillée pour cette version.
Espérons que cette aide.
OriginalL'auteur Diego Marafetti