-
Create the Task Listener
MyContextListener.java
public class MyContextListener implements ServletContextListener { private java.util.Timer timer = null; public void contextInitialized(ServletContextEvent event) { timer = new java.util.Timer(true); event.getServletContext().log("Timer start"); timer.schedule(new MyTask(event.getServletContext()), 0, 60 * 1000); event.getServletContext().log("Add task okay"); } public void contextDestroyed(ServletContextEvent event) { timer.cancel(); event.getServletContext().log("Timer destory"); } }
-
Process the Task
MyTask.java
public class MyTask extends TimerTask { private static final int C_SCHEDULE_HOUR = 0; private static boolean isRunning = false; private ServletContext context = null; public MyTask(ServletContext context) { this.context = context; } public void run() { Calendar cal = Calendar.getInstance(); if(!isRunning) { if(C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY)) { isRunning = true; context.log("begin to process the task"); // TODO Add the task here int i = 0; while(i++ < 10) { context.log("Complete: " + i + "/" + 10); } isRunning = false; context.log("Task processed okay"); } } else { context.log("One Task is running"); } } }
-
Add Listener to program
web.xml
<listener> <listener-class>MyContextListener</listener-class> </listener>
任务定时器
最新推荐文章于 2024-08-18 00:00:00 发布