您的位置:首页 > 编程语言 > Java开发

Java定时器Timer使用

2017-12-30 15:54 531 查看
业务说明:每天23点定时删除两天前的日志数据,每过一小时重复执行一次

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("删除数据失败!");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: