java web如何实现每天定时执行任务
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下java web如何实现每天定时执行任务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!第一步:package com.eh.util;import java.uti
千家信息网最后更新 2026年11月01日java web如何实现每天定时执行任务
小编给大家分享一下java web如何实现每天定时执行任务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
第一步:
package com.eh.util;import java.util.Calendar;import java.util.Date;import java.util.Timer;/** * java定时任务,每天定时执行任务 * @author wls * */public class TimerManager { //时间间隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; public TimerManager() { Calendar calendar = Calendar.getInstance(); /*** 定制每日2:00执行方法 ***/ calendar.set(Calendar.HOUR_OF_DAY, 16); calendar.set(Calendar.MINUTE, 10); calendar.set(Calendar.SECOND, 0); Date date=calendar.getTime(); //第一次执行定时任务的时间 System.out.println(date); System.out.println("before 方法比较:"+date.before(new Date())); //如果第一次执行定时任务的时间 小于 当前的时间 //此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。循环执行的周期则以当前时间为准 if (date.before(new Date())) { date = this.addDay(date, 1); System.out.println(date); } Timer timer = new Timer(); NFDFlightDataTimerTask task = new NFDFlightDataTimerTask(); //安排指定的任务在指定的时间开始进行重复的固定延迟执行。 timer.schedule(task,date,PERIOD_DAY); } // 增加或减少天数 public Date addDay(Date date, int num) { Calendar startDT = Calendar.getInstance(); startDT.setTime(date); startDT.add(Calendar.DAY_OF_MONTH, num); return startDT.getTime(); }}第二步:
package com.eh.util; import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.TimerTask; /** * 在 TimerManager 这个类里面,大家一定要注意 时间点的问题。如果你设定在凌晨2点执行任务。但你是在2点以后 *发布的程序或是重启过服务,那这样的情况下,任务会立即执行,而不是等到第二天的凌晨2点执行。为了,避免这种情况 *发生,只能判断一下,如果发布或重启服务的时间晚于定时执行任务的时间,就在此基础上加一天。 * @author wls * */public class NFDFlightDataTimerTask extends TimerTask { private static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public void run() { try { //在这里写你要执行的内容 System.out.println("执行当前时间"+formatter.format(Calendar.getInstance().getTime())); } catch (Exception e) { System.out.println("-------------解析信息发生异常--------------"); } } }第三步:
package com.eh.util;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class NFDFlightDataTaskListener implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { new TimerManager(); } public void contextDestroyed(ServletContextEvent sce) { // TODO Auto-generated method stub } }第四步:配置web.xml文件
com.eh.util.NFDFlightDataTaskListener
看完了这篇文章,相信你对"java web如何实现每天定时执行任务"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
任务
时间
第一次
加一
情况
方法
篇文章
服务
信息
内容
周期
基础
天数
完了
文件
是在
更多
知识
程序
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
上海睿民互联网科技有限公司
互联网最新的科技有限公司
重庆互联网络科技
麻工互联网科技
万易互联网科技
互联网科技logo
上游互联网科技
长亮科技 互联网金融
海南购全球互联网科技
宁夏众和广鑫互联网科技有限公司
互联网为啥属于高科技
南平创想时代互联网科技有限公司
消费医药和互联网科技
东莞新华互联网科技学校
科技互联网海报
风投北京互联网科技
广州互联网高科技取餐柜
好易买互联网科技
青岛易易互联网科技
什么是科技互联网
美国互联网保险保险科技
金融科技创新监管互联网金融
互联网未来科技
互联网 新科技
互联网科技创新企业排名
江苏南京365互联网科技
互联网方面的科技前沿
山东蛋芒互联网科技有限公司
互联网的黑科技实验室