El m�todo destroy proporcionado por la clase HttpServlet destruye el servlet y graba su destrucci�n. Para destruir cualquier recurso espec�fico de nuestro servlet, debemos sobreescribir el m�todo destroy. Este m�todo deber�a deshacer cualquier trabajo de inicializaci�n y cualquier estado de persistencia sincronizado con el estado de memoria actual.
El siguiente ejemplo muestra el m�todo destroy que acompa�a el m�todo init de la p�gina anterior.
public class BookDBServlet extends GenericServlet {
private BookstoreDB books;
... // the init method
public void destroy() {
// Allow the database to be garbage collected
books = null;
}
}
Un servidor llama al m�todo destroy despu�s de que se hayan completado todas las llamadas de servidor, o en un servidor espec�fico hayan pasado un n�mero de segundos, lo que ocurra primero. Si nuestro servlet manejar operaciones de larga ejecuci�n, los m�todos service se podr�an estar ejecutando cuando el servidor llame al m�todo destroy. Somos responsables de asegurarnos de que todos los threads han terminado. La p�gina siguiente muestra c�mo.
El m�todo destroy mostrado arriba espera a que todas las interacciones de cliente se hayan completado cuando se llama al m�todo destroy, porque el servlet no tiene operaciones de larga ejecuci�n.