Javaでは、URL接続はいつ閉じますか?
-
07-07-2019 - |
質問
JavaはいつURLへの接続を解除しますか? URLまたはURLConnectionにclose()メソッドが表示されないので、リクエストが終了するとすぐに接続が解放されますか?主に、例外ハンドラでクリーンアップを行う必要があるかどうかを確認しています。
try {
URL url = new URL("http://foo.bar");
URLConnection conn = url.openConnection();
// use the connection
}
catch (Exception e) {
// any clean up here?
}
解決
プロトコルで指定された特定のプロトコルに依存します。永続的な接続を維持するものもあれば、接続によって指定された入力または出力ストリームで呼び出しが閉じられたときに接続を閉じるものもあります。ただし、URLConnectionから開いたストリームを閉じることを忘れないでください。他にできることはありません。
java.net.URLConnectionのjavadocから
でclose()メソッドを呼び出す のInputStreamまたはOutputStream リクエスト後のURLConnectionは解放される可能性があります これに関連するネットワークリソース インスタンス、特定のプロトコルを除く 仕様は異なる それのための動作。
他のヒント
HttpURLConnectionにキャストする場合、 disconnect()メソッド。接続がアイドル状態の場合、おそらくすぐに切断されます。保証なし。
所属していません StackOverflow