Java web 定时执行任务
2016-05-19 17:01
603 查看
第一步:编写定时管理
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TaskManager implements ServletContextListener {
/**
* 半小时的毫秒数
*/
public static final long PERIOD_HALFHOUR = 1000 * 60 * 30;
/**
* 无延迟
*/
public static final long NO_DELAY = 0;
/**
* 定时器
*/
private Timer timer;
/**
* 在Web应用启动时初始化任务
*/
public void contextInitialized(ServletContextEvent event) {
//定义定时器
timer = new Timer("定时缓存",true);
//启动备份任务,每月(4个星期)执行一次
timer.schedule(new CashTask(), NO_DELAY, PERIOD_HALFHOUR);
}
/**
* 在Web应用结束时停止任务
*/
public void contextDestroyed(ServletContextEvent event) {
timer.cancel(); // 定时器销毁
}
}
第二步:要定时执行的任务
import java.util.Date;
import java.util.TimerTask;
public class CashTask extends TimerTask {
@Override
public void run() {
// TODO 自动生成的方法存根
System.out.println("timetask run---" + new Date());
}
}
第三步
在web.xml中配置监听
<listener>
<listener-class>com.inspur.timetask.TaskManager</listener-class>
</listener>
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TaskManager implements ServletContextListener {
/**
* 半小时的毫秒数
*/
public static final long PERIOD_HALFHOUR = 1000 * 60 * 30;
/**
* 无延迟
*/
public static final long NO_DELAY = 0;
/**
* 定时器
*/
private Timer timer;
/**
* 在Web应用启动时初始化任务
*/
public void contextInitialized(ServletContextEvent event) {
//定义定时器
timer = new Timer("定时缓存",true);
//启动备份任务,每月(4个星期)执行一次
timer.schedule(new CashTask(), NO_DELAY, PERIOD_HALFHOUR);
}
/**
* 在Web应用结束时停止任务
*/
public void contextDestroyed(ServletContextEvent event) {
timer.cancel(); // 定时器销毁
}
}
第二步:要定时执行的任务
import java.util.Date;
import java.util.TimerTask;
public class CashTask extends TimerTask {
@Override
public void run() {
// TODO 自动生成的方法存根
System.out.println("timetask run---" + new Date());
}
}
第三步
在web.xml中配置监听
<listener>
<listener-class>com.inspur.timetask.TaskManager</listener-class>
</listener>
相关文章推荐
- Ubuntu安装JDK
- 从JDK源码角度看并发锁的优化
- 从JDK源码角度看并发锁的优化
- Java三大特性之继承
- Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm
- JNI - Divide by Zero. A comparison between Java and C(1)
- 10036---Java多线程学习(吐血超详细总结)
- 提升你的Java应用性能:改善数据处理
- Java:比较运算符compareTo()、equals()、==之间的区别与应用总结
- [javaSE] 异常捕获
- 几个主流的Java连接池
- Java中的垃圾回收问题以及在创建对象的时候的内存的分析
- Java中引用与内存空间分配
- 关于SpringMVC返回date的格式问题
- java并发编程——并发容器和并发工具介绍
- Algorithm JAVA写算法 验证哥德巴赫猜想
- Eclipse导出JavaDoc的问题【整理】
- SpringMVC源码剖析(二)- DispatcherServlet的前世今生
- java代理设计模式
- Eclipse+Java+OpenCV310环境搭建和代码测试