import javax.servlet.ServletContextListener; import javax.servlet.ServletContextEvent; import java.util.TimerTask; import java.util.Timer; public class Tarea extends TimerTask implements ServletContextListener { private Timer timer; public void contextInitialized(ServletContextEvent evt) { // Iniciamos el timer timer = new Timer(); timer.schedule(this, 0, 10*60*1000); // Ejemplo: Cada 10 minutos } public void contextDestroyed(ServletContextEvent evt) { timer.cancel(); } public void run() { // Aquí el código a ejecutar cada cierto tiempo } }Finalmente hay que añadir el listener al fichero web.xml de la aplicación. Ejemplo:
<web-app> <listener> <listener-class>Tarea</listener-class> </listener> </web-app>
a lo que me refiero es que si se puede ejecutar cuando quiera darle click a un boton con get o post en la aplicacion dentro de tomcat, y que pueda parar la ejecucion o reprogramar reloj y la programada de ejecucion, agradeceria mucho si pudieras darme una idea o que pudieras contestarme mis dudas, gracias tambien por el codigo que muestras, de todos modos voy a probar que hace, saludos.
Que ejemplo tan bueno. Limpio, util y conciso, me gusta mucho tu estilo.
Estamos pensando basarnos en este recorte para hacer un monitor/notificador JMX de threads en deadlock, exceso de threads corriendo y otras cosas – para tomcat6.
Muchas gracias.
Saludos,
Martin Cordova
Framework Dinámica para J2EE
http://www.martincordova.com