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 sigueinte 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.