方法一:
1.web.xml中配置listener
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
2.创建listener
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyListener implements ServletContextListener {
private Timer timer = null;
@Override
public void contextInitialized(ServletContextEvent sce) {
timer = new Timer(true);
//设置任务计划,启动和间隔时间
timer.schedule(new MyTask(), 0, 3*60*1000);
//3分钟
//timer.schedule(new MyTask(), 0, 3*60*1000);
//在1秒后执行此任务,每次间隔2秒
//timer.schedule(new MyTask(), 1000, 2000);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3.创建启动的类MyTask
import java.util.Date;
import java.util.TimerTask;
public class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("call at " + (new Date()));
}
}
方法二:
spring 下实现定时工作的调度框架quartz
quartz-1.7.3.tar.gz
3.07M
2.从quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到项目的classpath下
(放到webroot/WEB-INF/lib)下
3.定义一个需要时间调度的程序
package com.machome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("数据备份任务启动");
System.out.println("...");
System.out.println("数据备份任务完成");
}
}
4.剩余的工作就都在spring xml文件里完成了
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
onTimeWork
class="org.springframework.scheduling.quartz.CronTriggerBean">
10,15,20,25,30,35,40,45,50,55 * * * * ?
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
5. 将spring 项目部署到TOMCAT或JBOSS服务器上
deploy项目
重启TOMCAT server
6. 看结果:
cron表达式参考:Quartz的cron表达式