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.