1. ホーム
  2. java

[解決済み] Javaでは、URL接続はいつ終了するのですか?

2023-05-18 02:48:12

質問

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?
}

どのように解決するのですか?

プロトコルで指定されている特定のプロトコルに依存します。あるものは持続的な接続を維持し、他のものは接続によって与えられる入力または出力ストリームでcloseを呼び出したときに接続を閉じます。しかし、あなたがURLConnectionから開いたストリームを閉じることを覚えること以外に、あなたができることは何もありません。

java.net.URLConnectionのjavadocから。

のclose()メソッドを呼び出すと のInputStreamまたはOutputStreamのclose()メソッドを呼び出します。 URLConnection の InputStream または OutputStream に対して close() メソッドを呼び出すと、リクエストの後に ネットワークリソースを解放することができます。 ただし、特定のプロトコル 特定のプロトコルの仕様で異なる動作が指定されていない限り ただし、特定のプロトコルの仕様でそれとは異なる動作が指定されている場合はその限りではありません。