📄 taskmanager.java
字号:
package jxc.util;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.sql.ResultSet;
import java.util.*;
import jxc.com.DBConnect;
public class TaskManager implements ServletContextListener {
private Timer timer = null;
BFTask bfTask = null;
private int bfTime;
private int bfDay;
public void contextInitialized(ServletContextEvent event) {
timer = new Timer(true);
event.getServletContext().log("定时器已启动");
//执行初始化
bfTask = new BFTask();
String Str="Select * from bfpath where id=1";
try {
DBConnect dbc = new DBConnect();
ResultSet rs = dbc.executeQuery(Str);
if (rs.next()) {
bfTime = rs.getInt("bfTime");
bfDay = rs.getInt("bfDay");
}
rs.close();
dbc.close();
} catch (Exception e) {
e.printStackTrace();
}
// 每天2点备份数据
Date start=new Date();
start.setDate(start.getDate()+1);
start.setHours(bfTime);
start.setMinutes(0);
start.setSeconds(0);
System.out.println(start.toLocaleString());
long period=bfDay*24*60*60*1000; //时间间隔一天
timer.scheduleAtFixedRate(bfTask, start, period);
event.getServletContext().log("已经添加任务调度表");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
//释放资源。。。。。。。。。。
event.getServletContext().log("定时器销毁");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -