★★Java質問・相談スレッド165★★
■ このスレッドは過去ログ倉庫に格納されています
0731デフォルトの名無しさん
2013/11/14(木) 22:20:22.11DefaultHttpClientのインスタンスを使いまわす場合は注意が必要
例えばこういうコードはダメ。実行すればそれと同じエラーがでる
【エラーが起きるコード】
HttpClient client = new DefaultHttpClient();
while (true) {
HttpGet get = new HttpGet("http://example.com");
HttpResponse response = client.execute(get);
Thread.sleep(1000);
}
【問題ないコード1】
HttpClient client = new DefaultHttpClient();
while (true) {
HttpGet get = new HttpGet("http://example.com");
HttpResponse response = client.execute(get);
EntityUtils.consume(response.getEntity()); // これでDefaultHttpClientは再利用可能になる
Thread.sleep(1000);
}
【問題ないコード2】
while (true) {
HttpClient client = new DefaultHttpClient(); // ←client.execute()を実行するたびにDefaultHttpClientを作り直す
HttpGet get = new HttpGet("http://example.com");
HttpResponse response = client.execute(get);
Thread.sleep(1000);
}
■ このスレッドは過去ログ倉庫に格納されています