有时,我们需要tomcat执行定时任务,例如,定期的将Cache中的数据插入数据库,或定期从数据库中取数据至缓存中等等。在Tomcat中定义定时任务,并不是一件困难的事情,需要做的有两件时间,第一定义一个Listener类,第二定义一个TimerTask类。
1.定义监听器类
想要Tomcat定期执行任务,你得告诉它你希望多久触发一次任务以及执行什么任务等等,这些配置工作需要在Listener里面定义,具体而言,首先定义一个监听器类,注意该类必须执行 ServletContextListner接口:
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServlet;
import com.sap.nic.mytaxi.syn.task.SyncTimerTask;
import com.sap.nic.mytaxi.test.JobTimer;
/**
* Servlet implementation class TimerTaskListenerServlet
*/
@WebListener("/timertasklistener")
public class TimerTaskListener implements Se