java Timer定时任务。每天的某个时刻开启(亲测有效,直接运行)
来源:互联网 发布:单片机串口啥意思 编辑:程序博客网 时间:2024/06/05 15:15
这是管理类:
import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.util.Calendar;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * Created by Administrator on 2017/9/29. */public class TaskManager { /** * 开启任务 */ //默认时间间隔一天 private static long PERIOD_TIME = 24 * 60 * 60 * 1000; Log log = LogFactory.getLog(TaskManager.class); public void startTask(TimerTask task, int dayInterval, int hour, int minute){ PERIOD_TIME = dayInterval * 24 * 60 * 60 * 1000; Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, 0); //执行定时任务的时间 Date date=calendar.getTime(); //为了避免若容器启动的时间晚于定时时间,在重启容器的时候会立刻执行该任务 if (date.before(new Date())) { date = this.addDay(date, 1); } Timer timer = new Timer(); //任务在指定的时间开始进行重复的固定延迟执行 timer.schedule(task,date); } // 增加或减少天数 public Date addDay(Date date, int num) { Calendar startDT = Calendar.getInstance(); startDT.setTime(date); startDT.add(Calendar.DAY_OF_MONTH, num); return startDT.getTime(); }}
这是监听:
import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;/** * Created by Administrator on 2017/9/29. */public class RankTaskListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { System.out.println("开启监听了.2点28准时启动..........."); String day="1"; String hour="14"; String minute="28"; new TaskManager().startTask(new RankTask(), Integer.parseInt(day), Integer.parseInt(hour), Integer.parseInt(minute)); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { }}
这是定时任务:
import java.util.TimerTask;/** * Created by Administrator on 2017/9/29. */public class RankTask extends TimerTask { @Override public void run() { System.out.println("...............任务执行了............."); }}
web .xml配置监听:
<listener> <listener-class>com.mytest.task.RankTaskListener</listener-class></listener>
阅读全文
0 0
- java Timer定时任务。每天的某个时刻开启(亲测有效,直接运行)
- java的Timer,定时执行某个任务
- java的Timer,定时执行某个任务
- Java 每天定时执行的Timer
- java Timer 定时每天凌晨1点执行任务
- java Timer 定时每天凌晨1点执行任务
- java Timer 定时每天凌晨23点执行任务
- java Timer 定时每天凌晨1点执行任务
- java Timer 定时每天凌晨1点执行任务
- java Timer 定时任务
- Java定时任务Timer
- JAVA定时任务Timer
- Java 定时任务Timer
- Java定时任务Timer
- java Timer 定时任务
- java 定时任务Timer
- java定时任务 timer
- Java定时任务Timer的使用
- Python魔法_筛选符合条件的值
- vue上传图片组件(支持拖拽文件夹上传)
- Android studio 命令gradlew assembleRelease打包时,出现 Unsupported major.minor version 52.0解决办法
- java swing最简单实例(2) 往JFrame里面放一个容器或组件
- 链表的基本操作
- java Timer定时任务。每天的某个时刻开启(亲测有效,直接运行)
- nginx 配置模板
- 【C#】点到线段最短距离的那条直线与线段的交点
- 基本shell命令学习
- Lintcode135 Combination Sum solution 题解
- Java里的堆(heap)栈(stack)和方法区(method)(精华帖,多读读)
- 3 种 web 会话管理的方式
- 各种中国镜像
- 2017云栖大会开源峰会预告