Seguir la pista de cuantos threads estn ejecutando el mtodo service actualmente. Proporcionar una limpieza de desconexin haciendo que el mtodo destroy notifique a los threads la desconexin y espere a que ellos se hayan completado. Haciendo que todos los mtodos de larga duracin comprueben peridicamente la desconexin y, si es necesario, paren su trabajo, limpien y retornen.
El mtodo service debera incrementar el contador de servicios cada vez que se entre en l y decrementarlo cada vez que se salga de l. Esta es una de las pocas veces que al clasificar la clase HttpServlet debamos sobrescribir el mtodo
Jess Cceres Tello Pg. 1 - 3
Abajo podemos ver un mtodo destroy que utiliza estos campos para proporcionar una limpieza de desconexin:
public void destroy() { // Comprueba que el servicio todava estn en ejecucin y si es as les dice que se paren if (numServices() > 0) { setShuttingDown(true); } // Espera a que los mtodos del servicio se paren while(numServices() > 0) { try { Thread.sleep(interval); } catch (InterruptedException e) { } }
Pg. 2 - 3
Pg. 3 - 3