java timer定时器

    xiaoxiao2021-12-10  22

    *******监听代码******* import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class ExecuteTaskListener implements ServletContextListener { public void contextInitialized(ServletContextEvent event) { new TimerManager(); public void contextDestroyed(ServletContextEvent event) { } } *******定时管理******* import java.util.Calendar; import java.util.Date; import java.util.Timer; public class TimerManager { //执行间隔 private static final long PERIOD = 24 * 60 * 60 * 1000;  public TimerManager() { Calendar calendar = Calendar.getInstance();    //设置每日00:00执行 calendar.set(Calendar.HOUR_OF_DAY, 00); calendar.set(Calendar.MINUTE, 00); calendar.set(Calendar.SECOND, 0); Date date=calendar.getTime(); //定时任务的时间 //默认情况下执行日期小于当前日期立即执行;不需要立即执行,可以加一天 /*if (date.before(new Date())) { date = this.addDay(date, 1); }*/ Timer timer = new Timer(); ExecuteTimerTask task = new ExecuteTimerTask(); //执行定时任务 timer.schedule(task,date,PERIOD); } //提前或延期执行的日期  public Date addDay(Date date, int number) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DAY_OF_MONTH, number); return calendar.getTime(); } } *******定时执行内容******* import java.util.TimerTask; public class ExecuteTimerTask extends TimerTask { public void run() { try { System.out.println("----定时器1开始运行-----"); } catch (Exception e) { e.printStackTrace(); } } } *******web.xml配置******* <listener> <listener-class>com.common.util.ExecuteTaskListener</listener-class> </listener>
    转载请注明原文地址: https://ju.6miu.com/read-700383.html

    最新回复(0)