您的位置:首页 > 其它

WEB程序如何执行定时任务。(转)

2007-05-27 18:16 423 查看
利用Tomcat的监听器达到定时执行任务的功能,转贴网上的代码,做为一个资料收集:
主程序: SysContextListener .java
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class SysContextListener implements ServletContextListener
{
private Timer timer = null;
public void contextInitialized(ServletContextEvent event)
{
timer = new Timer(true);

timer.schedule(new exportHistoryBean(event.getServletContext()),0,20*1000); //调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时。

}
public void contextDestroyed(ServletContextEvent event)
{
timer.cancel();

}
}

需要执行的任务:exportHistoryBean .java
import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class exportHistoryBean extends TimerTask
{
private static final int C_SCHEDULE_HOUR =0;
private static boolean isRunning = false;
private ServletContext context =null;
public exportHistoryBean(ServletContext context)
{
this.context = context;
}

public void run()
{
Calendar c =Calendar.getInstance();
if(!isRunning)
{
System.out.println("间隔二十钟来定时执行任务");
}
}
}

最后需要在tomcat/WEB-INF/web.xml中注册一个监听器:如下,

<listener>
<listener-class>com.comingnet.timerTest.SysContextListener</listener-class>
</listener>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: