Pregunta

¿Cuándo Java deja ir las conexiones a una URL? No veo un método close () en URL o URLConnection, ¿libera la conexión tan pronto como finaliza la solicitud? Principalmente solicito ver si necesito hacer alguna limpieza en un controlador de excepciones.

try {
  URL url = new URL("http://foo.bar");
  URLConnection conn = url.openConnection();
  // use the connection
}
catch (Exception e) {
  // any clean up here?
}
¿Fue útil?

Solución

Depende del protocolo específico especificado en el protocolo. Algunos mantienen conexiones persistentes, otros cierran sus conexiones cuando su llamada se cierra en la corriente de entrada o salida dada por la conexión. Pero aparte de recordar cerrar las transmisiones que abrió desde URLConnection, no hay nada más que pueda hacer.

Del javadoc para java.net.URLConnection

  

Invocar los métodos close () en el   InputStream o OutputStream de un   URLConnection después de una solicitud puede liberar   recursos de red asociados con esto   instancia, a menos que un protocolo particular   especificaciones especifican diferentes   comportamientos para ello.

Otros consejos

Si realiza una conversión a una HttpURLConnection, hay una disconnect () . Si la conexión está inactiva, probablemente se desconectará de inmediato. Sin garantías.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top