当时间从PM变为Am时,如何在午夜每天自动运行java程序

时间:2015-01-22 06:00:23

标签: java timer scheduled-tasks quartz-scheduler

我希望每天午夜时分运行我的程序,例如(从今天起,即2015年1月22日至2015年1月25日)从上午到下午的时间变化。

3 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点

  • ScheduledExecutorService,在构建的Java类中,您可以使用它来在指定的时间安排作业
  • Quartz FW是用于大规模调度的第三方API
  • Cron jobs,在linux和windows批处理文件中你可以做到这一点
  • Autosys,作业调度程序

答案 1 :(得分:0)

正如其他人所建议的,如果可以,请使用ScheduledExecutorService。

如果没有,启动一个运行方法m的线程(RunnableThread)(检查日期和时间,如果时间从上午到下午变化则需要)。睡几分钟,醒来,跑m,...让这个过程永远循环(或者只要你想要)。更好的是,如果你可以睡觉所需的确切时间,以便当线程醒来时,你知道从上午到下午都有过渡。例如,您的程序在上午10:00启动,然后您可以计算从现在起2小时(120分钟)内的下午。所以,只需睡120分钟。醒来,做上午到下午的活动,睡了24个小时。

答案 2 :(得分:0)

我非常推荐CRON这项工作,因为它是可靠的,并且内置于大多数Linux环境中,如果您正在运行它的话。