<span style="font-size:24px;"><span style="font-size:18px;">package org.depot;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Timersk {
/**
* ServletContextListener监听器配置
*/
/*<listener>
<listener-class>org.depot.DeployServiceFolderListener</listener-class>
</listener>*/
/**
* 定时器入口
* 定时器为每天九点,十二点,十八点时间执行特定的任务
*/
public void showTimer() {
/*-------------------------------设置执行时间------------------------------*/
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);// 每天
long perid = 24*60*60*1000;
// 定制09:00:00执行
calendar.set(year, month, day, 9, 00, 00);
Date date_nine = calendar.getTime();
//首次运行时间小于当前时间就延后一天
if(System.currentTimeMillis() > date_nine.getTime())
date_nine = new Date(date_nine.getTime() + perid);
// 定制12:00:00执行
calendar.set(year, month, day, 12, 00, 00);
Date date_twelve = calendar.getTime();
//首次运行时间小于当前时间就延后一天
if(System.currentTimeMillis() > date_twelve.getTime())
date_twelve = new Date(date_twelve.getTime() + perid);
// 定制12:00:00执行
calendar.set(year, month, day, 18, 00, 00);
Date date_eighteen = calendar.getTime();
//首次运行时间小于当前时间就延后一天
if(System.currentTimeMillis() > date_eighteen.getTime())
date_eighteen = new Date(date_eighteen.getTime() + perid);
/*-------------------------------设置执行时间------------------------------*/
Timer timer = new Timer();
timer.schedule(new MyTask_NINE(), date_nine,perid);
timer.schedule(new MyTask_TWELVE(), date_twelve,perid);
timer.schedule(new MyTask_EIGHTEEN(), date_eighteen,perid);
}
public static void main(String[] args) {
Timersk tsk = new Timersk();
tsk.showTimer();
}
}
class MyTask_NINE extends TimerTask {
@Override
public void run() {
System.out.println("九点任务");
System.gc();
}
}
class MyTask_TWELVE extends TimerTask {
@Override
public void run() {
System.out.println("十二点任务");
System.gc();
}
}
class MyTask_EIGHTEEN extends TimerTask {
@Override
public void run() {
System.out.println("十八点任务");
System.gc();
}
}
</span></span>
Timer定时器的使用
最新推荐文章于 2024-08-04 11:07:52 发布