import java.util.Calendar;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.util.TimerTask;
/**
*tomcate定时启动任务
*@time 2012-5-26
*/
public class TimerTaskCount implements ServletContextListener
{
private Timer timer = null;
public void contextInitialized(ServletContextEvent event)
{
//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
timer = new Timer(true);
//有这个类就是定时隔天8:30:30任务、否则就是在tomcate启动的时候就启动任务
Calendar IterationTaskCalendar = Calendar.getInstance();
IterationTaskCalendar.add(Calendar.DATE, 1);
timer.scheduleAtFixedRate(
new exportHistoryBean(),
Utility.getTimer(IterationTaskCalendar,"08:30:30").getTime(),
24 * 60 * 60 * 1000
);
}
public void contextDestroyed(ServletContextEvent event) {
//在这里关闭监听器,所以在这里销毁定时器
//timer.cancel();
}
}
/**
* 设置定时器
* @param cal - 时间日期
* @param timer - 定时时间(格式: hh:mm:ss)
*
* @return Calendar - 定时器
*/
public class Utility
{
public static Calendar getTimer(Calendar cal, String timer)
{
String[] segments = timer.split(":");
if (3 != segments.length)
{
throw new RuntimeException("参数格式有误, 应该为: hh:mm:ss");
}
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(segments[0]));
cal.set(Calendar.MINUTE, Integer.parseInt(segments[1]));
cal.set(Calendar.SECOND, Integer.parseInt(segments[2]));
return cal;
}
}
//定时器调用的一个任务类
class exportHistoryBean extends TimerTask
{
public void run()
{
//启动发邮件的任务
RiskNewsTask linestate = new RiskNewsTask();
linestate.readerFile();
}
}
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.util.TimerTask;
/**
*tomcate定时启动任务
*@time 2012-5-26
*/
public class TimerTaskCount implements ServletContextListener
{
private Timer timer = null;
public void contextInitialized(ServletContextEvent event)
{
//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
timer = new Timer(true);
//有这个类就是定时隔天8:30:30任务、否则就是在tomcate启动的时候就启动任务
Calendar IterationTaskCalendar = Calendar.getInstance();
IterationTaskCalendar.add(Calendar.DATE, 1);
timer.scheduleAtFixedRate(
new exportHistoryBean(),
Utility.getTimer(IterationTaskCalendar,"08:30:30").getTime(),
24 * 60 * 60 * 1000
);
}
public void contextDestroyed(ServletContextEvent event) {
//在这里关闭监听器,所以在这里销毁定时器
//timer.cancel();
}
}
/**
* 设置定时器
* @param cal - 时间日期
* @param timer - 定时时间(格式: hh:mm:ss)
*
* @return Calendar - 定时器
*/
public class Utility
{
public static Calendar getTimer(Calendar cal, String timer)
{
String[] segments = timer.split(":");
if (3 != segments.length)
{
throw new RuntimeException("参数格式有误, 应该为: hh:mm:ss");
}
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(segments[0]));
cal.set(Calendar.MINUTE, Integer.parseInt(segments[1]));
cal.set(Calendar.SECOND, Integer.parseInt(segments[2]));
return cal;
}
}
//定时器调用的一个任务类
class exportHistoryBean extends TimerTask
{
public void run()
{
//启动发邮件的任务
RiskNewsTask linestate = new RiskNewsTask();
linestate.readerFile();
}
}