`
伊然01
  • 浏览: 307025 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java定时任务,每天定时执行任务

    博客分类:
  • Java
阅读更多
java定时任务,每天定时执行任务

java定时任务,每天定时执行任务。以下是这个例子的全部代码。




查看源码打印?
01 public class TimerManager { 

02   

03  //时间间隔 

04  private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; 

05    

06  public TimerManager() { 

07   Calendar calendar = Calendar.getInstance();  

08          

09   /*** 定制每日2:00执行方法 ***/ 

10   

11   calendar.set(Calendar.HOUR_OF_DAY, 2); 

12   calendar.set(Calendar.MINUTE, 0); 

13   calendar.set(Calendar.SECOND, 0); 

14     

15   Date date=calendar.getTime(); //第一次执行定时任务的时间 

16     

17   //如果第一次执行定时任务的时间 小于 当前的时间 

18   //此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。 

19   if (date.before(new Date())) { 

20       date = this.addDay(date, 1); 

21   } 

22     

23   Timer timer = new Timer(); 

24     

25   NFDFlightDataTimerTask task = new NFDFlightDataTimerTask(); 

26   //安排指定的任务在指定的时间开始进行重复的固定延迟执行。 

27   timer.schedule(task,date,PERIOD_DAY); 

28  } 

29   

30  // 增加或减少天数 

31  public Date addDay(Date date, int num) { 

32   Calendar startDT = Calendar.getInstance(); 

33   startDT.setTime(date); 

34   startDT.add(Calendar.DAY_OF_MONTH, num); 

35   return startDT.getTime(); 

36  } 

37    

38 }



在 TimerManager 这个类里面,大家一定要注意 时间点的问题。如果你设定在凌晨2点执行任务。但你是在2点以后
发布的程序或是重启过服务,那这样的情况下,任务会立即执行,而不是等到第二天的凌晨2点执行。为了,避免这种情况
发生,只能判断一下,如果发布或重启服务的时间晚于定时执行任务的时间,就在此基础上加一天。




查看源码打印?
01 public class NFDFlightDataTimerTask extends TimerTask { 

02   

03  private static Logger log = Logger.getLogger(NFDFlightDataTimerTask.class); 

04   

05  @Override

06  public void run() { 

07   try { 

08    //在这里写你要执行的内容 

09      

10   } catch (Exception e) { 

11    log.info("-------------解析信息发生异常--------------"); 

12   } 

13  } 

14 } 

15   

16 public class NFDFlightDataTaskListener implements ServletContextListener { 

17    

18  public void contextInitialized(ServletContextEvent event) { 

19   new TimerManager(); 

20  } 

21   

22  public void contextDestroyed(ServletContextEvent event) { 

23  } 

24   

25 }



然后要在web.xml里面配置监听器

查看源码打印?
1 <listener> 

2  <listener-class> 

3   com.listener.NFDFlightDataTaskListener 

4  </listener-class> 

5 </listener>
分享到:
评论

相关推荐

    java每天实现定点执行任务

    在Java编程环境中,实现每天定点执行任务是一项常见的需求,例如定时备份数据、发送邮件或运行数据分析等。要完成这样的功能,我们通常会利用Java的定时任务框架,如`java.util.Timer`类、`java.util.concurrent....

    java轻松实现—定时任务

    Java中的定时任务是软件开发中一个非常重要的功能,它允许我们按照预定的时间间隔执行特定的任务,比如数据备份、日志清理、系统监控等。在Java中,我们可以利用`java.util.Timer`类和`java.util.TimerTask`类来实现...

    Java定时执行某个任务

    总结起来,Java提供了`Timer`和`ScheduledExecutorService`两种方式来实现定时执行任务。`Timer`适合简单的定时任务,而`ScheduledExecutorService`更适合复杂的需求,如多线程环境和高并发场景。选择哪种方式取决于...

    java定时执行sql语句

    通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...

    java 定时执行任务

    Java定时执行任务是Java开发中常见的一种需求,用于在特定时间点或按照预设周期执行某段代码。在Java中,有两种主要的方式来实现定时任务:Java.util.Timer类和java.util.concurrent包下的ScheduledExecutorService...

    java定时任务的实现方式

    Java定时任务的实现是软件开发中常见的需求,用于在特定时间执行特定的业务逻辑,例如数据备份、报表生成等。本文将详细介绍两种常用的Java定时任务实现方式:Timer类和Spring框架的Quartz调度器。 首先,第一种...

    Quartz--JAVA定时任务\Java应用:Java调度任务和Spring Quartz (1)

    Java定时任务是应用程序中不可或缺的一部分,它允许程序在特定时间执行特定操作,无需用户干预。在JDK 1.3及以后的版本中,`java.util.Timer`类提供了基础的定时任务支持。不过,`Timer`类的功能相对有限,无法精确...

    java定时任务调度

    Java定时任务调度是Java开发中常见的一种功能,用于在特定时间执行特定的任务,例如数据同步、日志清理、报表生成等。在Java中,有多种实现定时任务调度的方式,包括但不限于Java内置的`java.util.Timer`类、Spring...

    java定时任务每天执行TimerTask 使用方法

    在 TimerManager 这个类里面,大家一定要注意 时间点的问题。如果你设定在凌晨2点执行任务。但你是在2点以后 ...发生,只能判断一下,如果发布或重启服务的时间晚于定时执行任务的时间,就在此基础上加一天。

    Java定时执行任务的三种方法

    Java定时执行任务是Java开发中常见的一种需求,用于在特定时间执行特定的代码逻辑,例如数据备份、统计分析等。本文将详细介绍Java中三种常见的定时任务实现方式:`java.util.Timer`、`ServletContextListener`以及...

    java动态管理定时任务

    在Java开发中,定时任务是不可或缺的一部分,尤其在企业级应用中,用于执行定期的数据处理、报表生成、系统维护等工作。Spring框架与Quartz库的整合提供了强大的动态管理定时任务的能力。下面我们将深入探讨这个主题...

    java定时任务小例子

    在这个“java定时任务小例子”中,我们可以看到两个关键文件:`TimerTest.java`和`DoTask.java`,它们分别代表了定时器的任务调度和实际执行任务的组件。 首先,我们来看`TimerTest.java`。这个文件很可能是整个...

    java定时任务

    java定时任务是指在java程序中,使用Timer和TimerTask来实现的定时执行任务的机制。java提供了多种方式来实现定时任务,包括使用java.util.Timer和java.util.TimerTask类、使用java.lang.Thread类的sleep方法、使用...

    java定时任务,每天定时执行任务demo

    "java定时任务,每天定时执行任务demo"的标题表明我们将讨论如何在Java中设置一个每天自动执行的任务。 首先,让我们来看看核心的`java.util.Timer`类,它是Java标准库中的定时任务管理工具。`Timer`类提供了调度...

    JAVA定时任务调度

    Java定时任务调度是Java开发中一个非常重要的技术领域,它允许开发者在特定的时间点或按照预定义的周期执行任务,从而实现自动化的工作流程。在Java中,我们可以使用多种方式来实现定时任务,如Java内置的`java.util...

    java定时任务quartz的基本实现

    Java定时任务在软件开发中扮演着重要角色,它允许开发者安排任务在特定时间执行,而无需持续监控。Quartz是Java领域中一个广泛使用的开源任务调度框架,它提供了丰富的功能来满足各种定时任务的需求。本篇文章将深入...

    java定时任务开源案例

    Java定时任务是软件开发中一个不可或缺的特性,它允许程序在特定时间执行预定的任务,而无需用户干预。在Java世界里,实现定时任务的方式多种多样,包括但不限于使用Java内置的`java.util.Timer`和`java.util....

    java 定时任务及jar包

    Java定时任务是Java编程中一个重要的特性,它允许开发者安排任务在特定的时间点或周期性地执行。在Java中,我们可以使用内置的`java.util.Timer`类和`java.util.concurrent.ScheduledExecutorService`来实现定时任务...

Global site tag (gtag.js) - Google Analytics