web.xml

<listener><listener-class>com.sign.listener.NFDFlightDataTaskListener</listener-class></listener>

监听器类

package com.sign.listener;import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;import com.sign.time.TimerManager;public class NFDFlightDataTaskListener implements ServletContextListener{public void contextInitialized(ServletContextEvent event) {new TimerManager();}public void contextDestroyed(ServletContextEvent event) {}}

设置执行时间类

package com.sign.time;import java.util.Calendar;
import java.util.Date;
import java.util.Timer;public class TimerManager {//时间间隔private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;public TimerManager() {Calendar calendar = Calendar.getInstance();/*** 定制每日11:23执行方法 ***/calendar.set(Calendar.HOUR_OF_DAY, 11);calendar.set(Calendar.MINUTE, 23);calendar.set(Calendar.SECOND, 0);Date date=calendar.getTime(); //第一次执行定时任务的时间//如果第一次执行定时任务的时间 小于 当前的时间//此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。if (date.before(new Date())) {date = this.addDay(date, 1);}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.sign.time;import java.util.Date;
import java.util.TimerTask;import org.apache.log4j.Logger;public class NFDFlightDataTimerTask extends TimerTask {private static Logger log = Logger.getLogger(NFDFlightDataTimerTask.class);@Overridepublic void run() {try {//在这里写你要执行的内容System.out.println((new Date()).toLocaleString());System.out.println("KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK");} catch (Exception e) {log.info("-------------解析信息发生异常--------------");}}
}

转载于:https://www.cnblogs.com/luotuoke/p/4685764.html

TimerTask定时任务相关推荐

  1. Java Timer、TimerTask(定时任务)

    >java.util.Timer 一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行. TimerTask实现了Runnable接口,作为定时执行的任务载体. ...

  2. Timer 和 TimerTask 定时任务

    TimerTask 类 public abstract class TimerTask implements Runnable {/*** 控制访问timertask内部的锁*/final Objec ...

  3. TimerTask定时任务软件

    网盘下载→提取码 1d71 →https://pan.baidu.com/s/1FuUdDgNgMJ6nBDE9YEyW8A 添加了上次下次执行时间

  4. Java-进阶:多线程2

    目录 一.Lock 接口 二.线程间的通信 三.线程池 四.定时器 Timer 五.多线程和异常 一.Lock 接口 1. 线程锁 锁是控制多个线程对共享资源进行访问的工具.通常,锁提供了对共享资源的 ...

  5. 实现多线程的几种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/king_kgh/article/details/78213576 多线程的形式上实现方式主要有两种, ...

  6. Dubbo源码——时间轮算法

    定时任务 /*** A task which is executed after the delay specified with* {@link Timer#newTimeout(TimerTask ...

  7. 5_异常_多线程_设计模式_IO流_网络编程_反射

    JavaSE_第五周 异常 异常的概念 什么是异常 概念 概念:程序在运行过程中出现的特殊情况异常-----通过Jvm将异常的信息打印在控制台---告诉开发者(当前程序在某个环节出现了哪些问题!) 异 ...

  8. 设计模式 | 中介者模式及典型应用

    本文的主要内容: 介绍中介者模式 数据同步示例 中介者模式总结 源码分析中介者模式的典型应用 Java Timer 中的中介者模式 中介者模式 世界上存在着各种各样的数据库,不同数据库有各自的应用场景 ...

  9. Java多线程与并发库高级应用架构

    张孝祥_Java多线程与并发库高级应用 [视频介绍:] Java线程是一项非常基本和重要的技术,在偏底层和偏技术的Java程序中不可避免地要使用到Java线程技术,特别是android手机程序和游戏开 ...

最新文章

  1. Javascript操纵Cookie--转
  2. 微服务架构·基础篇,傻瓜看了都会
  3. [剑指offer]面试题第[2]题[JAVA][替换空格][函数][字符串]
  4. 多线程下的进程同步(线程同步问题总结篇)
  5. python高端写法_python高级篇:使用元类方式实现单例模式详解
  6. leetcode python3 简单题202. Happy Number
  7. php抛出异常Exception和\Exception使用区别
  8. C语言:计算器程序。用户输入运算数和四则运算符,输出计算结果
  9. 最大子段和C语言实现
  10. 资源监视器中看不到磁盘队列等等问题的解决方案
  11. 自动阅读专业版第九次更新---原薅羊毛专业版
  12. python猜数字十次、猜对输出猜了多少次_python-猜数字小练习
  13. 互联网周刊2022汽车智能服务企业TOP50
  14. 性能进阶:使用JMeter进行websocket测试【建议收藏】
  15. 如何让Win10电脑不更新呢
  16. Spark RDD用法
  17. Element Plus Icon图标自动引入
  18. 第五讲 Matlab/Simulink入门——混合系统仿真实例
  19. 企业如何远程招聘到靠谱的程序员?--Codassium网页视频聊天工具
  20. java开源验证框架OVAL帮助文档

热门文章

  1. 关于Qomo OpenProject的进度(2006.01.04)
  2. 理解DOM事件流的三个阶段 - Lxxyx的开发笔记 - SegmentFault 思否
  3. iPhone6和iPhone6 plus的iOS8设计尺寸参考指南
  4. es6 --- String.prototype.padStart
  5. DOM-3 【utils/待讲评】节点属性、方法、封装方法、DOM结构
  6. H3C Navigate 2017 | 拉近世界的距离 新华三的泛联接版图
  7. UIApplication的作用
  8. apache+php32位平台安装
  9. Apache日志配置
  10. exchange命令整理