Timer指定时间定时任务运行

import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; @Component @Slf4j public class Job02 { @PostConstruct public synchronized void run() { TimerTask task = new TimerTask() { @Override public void run() { // 这里放置每次定时任务需要执行的代码 System.out.println("定时任务执行..."); } }; // 设置定时任务每天运行的时间点 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 18); // 设置为下午3点(24小时制) calendar.set(Calendar.MINUTE, 15); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); // 如果当前时间已经过了今天运行时间,则设置为明天同一时间 if (calendar.getTime().before(new Date())) { calendar.add(Calendar.DATE, 1); } Date firstTime = calendar.getTime(); // 第一次运行的时间 Timer timer = new Timer(); // 安排定时任务每天在指定时间运行 timer.schedule(task, firstTime, 10000); // 每天间隔24小时 // 如果需要取消定时任务,可以调用timer.cancel() } @PostConstruct public synchronized void run1(){ System.out.println("@PostConstruct"); } }
上一篇:项目管理人员的自我评估与职业目标设定


下一篇:量化分析工具日常操作日记-6-迦南智能