在JAVA项目中常常需要程序定时自动执行一些操作,比如缓存中数据的更新等等,那么这个时候就需要用到定时器去定时执行任务。
废话不说了,直接上项目吧。
首先建立一个监听器,在监听器中加入Util包中的定时任务
package Listener;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyFirstListener implements ServletContextListener {
private Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(true);
// 设置任务计划,启动和间隔时间(以毫秒为单位)
timer.schedule(new MyFirstTask (), 0, 20000);
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
}
}
然后制定一个执行的任务类
package Listener;
import java.sql.SQLException;
import java.util.TimerTask;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class MyFirstTask extends TimerTask {
public void run() {
System.out.println("定时任务 => Hello World!");
}
}
最后将这个监听器在web.xml中注册即可
<listener>
<listener-class>Listener.MyListener</listener-class>
</listener>