好久没写新文章了,今天项目遇到一个定时任务的需求,写下来希望能帮助更多的技术爱好者。
第一步:
配置项目的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>weFlow</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 定时任务监听器 -->
<listener>
<listener-class>
com.zykj.util.DataTaskListener
</listener-class>
<!--这里的DataTaskListener类的路径要换成你当前的项目的否则报错:java.lang.ClassNotFoundException-->
</listener>
</web-app>
第二步:
package com.zykj.util;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class DataTaskListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
new TimerManager();//TimerManager
}
public void contextDestroyed(ServletContextEvent event) {
}
}
第三步:
package com.zykj.util;
import java.util.Timer;
/**
* 定时任务
*
* @author 张亮 2017年5月12日 上午11:38:17
*/
public class TimerManager {
// 时间间隔
private static final long PERIOD_DAY = 60 * 1000;// 每分钟执行一次,,这里改成你需要的间隔时间
public TimerManager() {
Timer timer = new Timer();
long date=0;
DataTimerTask task = new DataTimerTask();
timer.schedule(task, date, PERIOD_DAY);
}
}
第四步:
package com.zykj.util;
import java.util.TimerTask;
public class DataTimerTask extends TimerTask {
@Override
public void run() {
try {
// 在这里写你要执行的内容
System.out.println("定时任务执行*********************");
} catch (Exception e) {
System.err.println(e);
}
}
}
最好效果图:
有什么问题加群:472148690