Java定时器Timer使用
2017-12-30 15:54
531 查看
业务说明:每天23点定时删除两天前的日志数据,每过一小时重复执行一次
1.监听器
2.执行类
1.监听器
package com.nuchina.listener; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Timer; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import com.nuchina.util.PropertiesHelper; import com.nuchina.util.SysConfigUtil; public class MyListener implements ServletContextListener { private java.util.Timer autoShenhetimer = null; public void contextDestroyed(ServletContextEvent arg0) { SysConfigUtil.configProperties = null; } public void contextInitialized(ServletContextEvent arg0) { try { System.out.println("初始化系统配置文件"); SysConfigUtil.configProperties = PropertiesHelper.load("/config.properties", "UTF-8"); SysConfigUtil.webPath=arg0.getServletContext().getRealPath("/"); SysConfigUtil.init(arg0.getServletContext()); autoShenhetimer=new Timer(true); //参数1:具体做事情的类 参数2:过多久去执行参数1 参数3:反复执行参数1的时间 这里是一小时 autoShenhetimer.schedule(new DeleDataTask(),0,60* 60 * 1000); } catch (Exception ex) { ex.printStackTrace(); System.out.println(ex); } } }
2.执行类
package com.nuchina.listener; import java.util.Date; import java.util.TimerTask; import org.apache.log4j.Logger; import com.nuchina.pcmonitor.dao.IPcmonitorLogsDAO; import com.nuchina.pcmonitor.model.PcmonitorLogsExample; import com.nuchina.util.DateUtil; import com.nuchina.util.SysConfigUtil; public class DeleDataTask extends TimerTask { private static final Logger log = Logger.getLogger(DeleDataTask.class); @Override public void run() { try { //每天23点删除前两天的正常日志 Long h=Long.parseLong(DateUtil.format(new Date(), "HH")); if(h.intValue()==23){ IPcmonitorLogsDAO pcDao = (IPcmonitorLogsDAO) SysConfigUtil.getBean("pcmonitorLogsDAO"); PcmonitorLogsExample example =new PcmonitorLogsExample(); example.createCriteria().andResStatusEqualTo(1l).andGzTimetagEqualTo(0l).andLogDateLessThan(DateUtil.addDay(new Date(), -2)); pcDao.deleteByExample(example); } } catch (Exception ex) { log.error("删除数据失败!"); } } }
相关文章推荐
- java定时器的使用(Timer)
- java定时器的使用(Timer)
- Java定时器Timer使用方法详解
- Java定时器Timer的使用详解
- Java定时器Timer和TimerTask的使用
- JAVA定时器Timer的使用
- java定时器的使用(Timer)
- Java定时器的使用(Timer简介)
- Java定时器的使用(Timer)
- java定时器的使用(Timer)
- java定时器的使用(Timer)
- java定时器的使用(Timer)
- java定时器Timer的使用
- 在 ASP.NET 中使用计时器(Timer)
- Timer使用
- java 定时器timer的使用
- Java定时器Timer()
- Boost.asio的简单使用(timer,thread,io_service类)
- .NET中几种Timer的使用
- 在weblogic 10 的集群环境中使用EJB 3 timer