Kiedy java zwalnia połączenia do adresu URL? Nie widzę metody close () ani w adresie URL, ani w URLConnection, więc czy zwalnia ona połączenie zaraz po zakończeniu żądania? Pytam głównie o to, czy muszę wyczyścić procedurę obsługi wyjątków.
try {
URL url = new URL("http://foo.bar");
URLConnection conn = url.openConnection();
// use the connection
}
catch (Exception e) {
// any clean up here?
}
java
exception
url
connection
timdisney
źródło
źródło
Odpowiedzi:
Zależy to od konkretnego protokołu określonego w protokole. Niektóre utrzymują trwałe połączenia, inne zamykają swoje połączenia, gdy wywołanie zamyka się w strumieniu wejściowym lub wyjściowym podanym przez połączenie. Ale poza pamiętaniem o zamykaniu strumieni, które otworzyłeś z połączenia URL, nie możesz zrobić nic więcej.
Z javadoc dla java.net.URLConnection
źródło
Jeśli rzutujesz na HttpURLConnection, istnieje metoda rozłączenia () . Jeśli połączenie jest bezczynne, prawdopodobnie natychmiast się rozłączy. Żadnych gwarancji.
źródło