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
que tal , me podrian ayudar ??
en que parte de mi web.xml colocaria mi listener
Hola, gmancillas.
No se si hay alguna restricción de donde ponerlo en el xml. Aquí tienes un ejemplo:
que tal juanjo mira este es el error que me aparece en mi log
10/06/2011 01:18:17 PM org.apache.catalina.startup.HostConfig checkResources
INFO: Reloading context [/GUIAS]
10/06/2011 01:18:17 PM org.apache.catalina.core.StandardContext stop
INFO: No se ha arrancado el Contenedor org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/GUIAS]
10/06/2011 01:18:18 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Error configurando escuchador de aplicación de clase Correoalas6
java.lang.ClassNotFoundException: Correoalas6
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3675)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4162)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1085)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1178)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:292)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1304)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1568)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1577)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1557)
at java.lang.Thread.run(Unknown Source)
10/06/2011 01:18:18 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Se ha saltado la instalación de escuchadores de aplicación debido a error(es) previo(s)
10/06/2011 01:18:18 PM org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
10/06/2011 01:18:18 PM org.apache.catalina.core.StandardContext start
GRAVE: Falló en arranque del Contexto [/GUIAS] debido a errores previos
ojala me puedan ayudar
PONGO AHORA ESTE ERROR 10/06/2011 05:07:11 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Error configurando escuchador de aplicación de clase org.quartz.ee.servlet.QuartzInitializerListener
java.lang.ClassNotFoundException: org.quartz.ee.servlet.QuartzInitializerListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3675)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
10/06/2011 05:07:11 PM org.apache.catalina.core.StandardContext listenerStart
GRAVE: Se ha saltado la instalación de escuchadores de aplicación debido a error(es) previo(s)
10/06/2011 05:07:11 PM org.apache.catalina.core.StandardContext start
GRAVE: Error listenerStart
10/06/2011 05:07:11 PM org.apache.catalina.core.StandardContext start
GRAVE: Falló en arranque del Contexto [/GUIAS] debido a errores previos