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>
主程序: 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>
相关文章推荐
- Linux下如何定时执行php脚本?Linux下如何设置定时任务?Crontab定时执行程序
- 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序
- C#web中如何在程序里定时启动任务[转]
- 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序
- Linux下如何定时执行php脚本?Linux下如何设置定时任务?Crontab定时执行程序
- C#web中如何在程序里定时启动任务[转]
- jsp定时器,web程序定时执行任务
- 如何让linux定时任务crontab按秒执行
- Web后台任务定时执行工具的设计与实现
- quartz定时执行任务,并配置web.xml的操作方法
- .NET如何利用timer组件实现每天定时执行某项任务 .
- Windows 任务计划 定时重复执行程序
- 用wget实现WEB程序的定时执行
- 在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现
- 如何在linux上定时执行程序
- web应用每晚12点定时执行程序代码实例
- 几个关机、重启NT系统的脚本(如何定时或系统无相应一段时间后执行关机任务)
- 如何用 Java 实现 Web 应用中的定时任务
- java web系统定时执行任务
- asp.net如何定时执行任务