質問

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()メソッド。接続がアイドル状態の場合、おそらくすぐに切断されます。保証なし。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top