jfinal 定时缓冲任务
一、在JFinalConfig中添加定时任务
public void afterJFinalStart() {
// tomcat启动时执行
timer = new Timer();
//参数1:Tssk类 参数2:执行run()方法等待的时间 参数3:第一次调用之后,第二次隔多长时间调用run()方法
timer.schedule(new Task(), 0, 1000 * 60 * 30);// 开启定时任务
}
public void beforeJFinalStop() {
// tomcat停止时执行
timer.cancel();// 关闭定时任务
}
二、编写定时任务public class Task extends TimerTask{
private String nowHour=new SimpleDateFormat("HH").format(new Date());
@Override
public void run() {
LogKit.info("定时更新缓存任务开始执行");
newWaiting();
newHome();
newDetail();
newValue();
LogKit.info("定时更新缓存任务执行完成");
}
public void newHome(){
try {
File cacheFile=new File(FileUtil.getBaseFile(),"/cache/home.json");
StringBuffer newData=new StringBuffer("{\"");
HomeService hs = new HomeService();
List list = hs.homeServer();
newData.append(nowHour).append("\":").append(list).append("}");
FileUtil.writeFile(cacheFile, newData.toString());
} catch (IOException e) {
LogKit.error("更新首页缓存失败,"+e.getMessage());
}
}