J'ai une boucle sur un tas d'Url, pour chacun, je suis en train de faire le suivant:
private String doQuery(String url) {
HttpGet httpGet = new HttpGet(url);
setDefaultHeaders(httpGet); // static method
HttpResponse response = httpClient.execute(httpGet); // httpClient instantiated in constructor
int rc = response.getStatusLine().getStatusCode();
if (rc != 200) {
// some stuff...
return;
}
HttpEntity entity = response.getEntity();
if (entity == null) {
// some stuff...
return;
}
// process the entity, get input stream etc
}
La première requête est bien, la deuxième lève cette exception:
Exception in thread "main" java.lang.IllegalStateException: Utilisation invalide de SingleClientConnManager: connexion encore attribués. Assurez-vous de la libération la connexion avant l'affectation un autre. au org.apache.http.impl.conn.SingleClientConnManager.getConnection(SingleClientConnManager.java:199) au org.apache.http.impl.conn.SingleClientConnManager$1.getConnection(SingleClientConnManager.java:173)......
C'est juste une simple single-threaded app. Comment puis-je publier cette connexion?