java定时任务,每天定时任务
今天为大家分享的一个就是java的定时任务,就是说在一天的某个时间点执行我的这点代码。
编程语言:java
IDE:MyEclipse
jar包:servlet.jar
环境:jdk1.6
首先创建一个类,为其命名。如图
创建完成之后的类,自动实现了接口仅有的两个方法,contextDestroyed和contextInitialized。
然后写下定时的程序,和new一下自己要执行的类即可,见图(最后会把所有的代码粘贴出来方便大家复制)
然后到web.xml文件里面加上这个
任务的实现需要继承TimerTask类,如图
所有的代码贴出来,方便复制:
package com.zhongzhi.ssi.utils;
import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;
import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;
import org.apache.log4j.Logger;
public class contractTimingTask implements ServletContextListener {
private Timer timer = null; private static Logger logger=Logger.getLogger(contractTimingTask.class); public void contextInitialized(ServletContextEvent event) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 3); // get 和 set 的字段数字,指示一天中的小时。 calendar.set(Calendar.MINUTE, 0); //get 和 set 的字段数字,指示一小时中的分钟。 calendar.set(Calendar.SECOND, 0); // get 和 set 的字段数字,指示一分钟中的秒。 Date time = calendar.getTime(); logger.info("执行时间:"+time); //创建一个新计时器,可以指定其相关的线程作为守护程序运行。如果计时器将用于安排重复的“维护活动”,则调用守护线程,在应用程序运行期间必须调用守护线程,但是该操作不应延长程序的生命周期。 timer = new Timer(true);//创建一个新计时器,可以指定其相关的线程作为守护程序运行。 //设置任务计划,启动和间隔时间 timer.schedule(new contractTask(), 0, 24*60*60*1000);// 安排在指定的时间执行指定的任务。执行任务前的延迟时间,单位是毫秒。
} public void contextDestroyed(ServletContextEvent event) { timer.cancel();//终止此计时器,丢弃所有当前已安排的任务。 } class contractTask extends TimerTask { public void run() { logger.info("--------------------------------开始执行合同档期定时任务!!----------------------------------------------"); } }
}
温馨提示:
- 01
复制出去可以贴在IED中去看,这样会样式化,很直观。。。