我收到java.lang.IllegalStateException:无效使用SingleClientConnManager:仍然分配了连接。我使用的代码如下:
HttpResponse targetResponse = getHttpClient(true).execute(post,
localContext);
BufferedReader rd = new BufferedReader(new InputStreamReader(
targetResponse.getEntity().getContent()));
String line = new String();
while ((line = rd.readLine()) != null) {
if (!line.contains("attr1") && !line.contains("attr2"))
continue;
String[] splits = line.split(": ");
if (splits[0].contains("attr1")) {
attr1 = splits[1].trim();
} else {
attr2 = splits[1].trim();
}
if (attr1 != null && attr2 != null)
break;
}
我的理解是,只要我执行targetResponse.getEntity(),就应该使用该实体。我是否还需要显式调用EntityUtils.consume()?
答案 0 :(得分:0)
如果您还没有使用EntityUtils.consume()来使用流中的任何剩余内容,那么您应该使用它。
或者接受@ dnault的建议并关闭该流。