Timer和TimerTask类在java中实现定时任务

public class PushMsgAPP extends TimerTask{


    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("---开始推送通知到APP---");
        ResupplyPayAccountBusi busi=new ResupplyPayAccountBusi();
        busi.APP_pushMsg();
    }
    
    
}

监听:

public class statisticsContextLisner implements ServletContextListener{

    //日志记录
    Logger log = Logger.getLogger(this.getClass().getName());
    
    private java.util.Timer timer = null;
    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
        if(timer!=null){
            timer.cancel();//关闭定时器
            log.debug("-----定时器销毁--------");
        }
    }

    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        //创建一个定时器,用于安排需要定时执行的任务。
        timer = new Timer();
        //为定时器安排需要定时执行的任务,该任务就是前面创建的任务类TaskAvailableConnectNumber,并指定该任务每30分钟执行一次。
        //设定每天推送的时间
        Calendar cal=Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY,18);
        cal.set(Calendar.MINUTE, 24);
        cal.set(Calendar.SECOND, 0);
        Date time=cal.getTime();
        timer.scheduleAtFixedRate(new PushMsgAPP(),time,1000*3600*24);
        log.debug("启动定时器");
    }

}
web.xml配置监听


    
        com.hysoft.wygl.common.statisticsContextLisner
    

你可能感兴趣的:(java,Time)