SORU
23 Ocak 2011, Pazar


Bağlantı serbest bırakmak için nasıl 4.0.1 - HttpClient?

URL avuç içinde bir döngü, aşağıdaki yaptığım her biri için var:

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

}

İlk sorgu güzel, ikincisi ise bu özel durum atar:

Konuya özel "ana" java.lang.İllegalStateException: Geçersiz kullanımı SingleClientConnManager: bağlantı hala ayrılmış. Serbest bırakmak için emin olun ayrılırken önce bağlantı bir tane daha. at org.apache.http.impl.conn.SingleClientConnManager.getConnection(SingleClientConnManager.:199 java) at org.apache.http.impl.conn.SingleClientConnManager$1.getConnection(SingleClientConnManager.:173 java)......

Bu sadece tek dişli basit bir uygulama. Nasıl bu bağlantıyı serbest miyim?

CEVAP
22 AĞUSTOS 2011, PAZARTESİ


Önerilen yöntem, 4.1, bağlantısını kapatın ve herhangi bir temel kaynakları serbest bırakmaktır Httpcomponents:

EntityUtils.consume(HttpEntity)

HttpEntity geçtiği yanıt bir varlıktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • katherine gomez

    katherine go

    1 Aralık 2011
  • spectragirlz16's channel

    spectragirlz

    22 Ocak 2012
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009