我想每天凌晨3点运行一个方法,它将总结一个生产数据库并插入到另一个数据库中。我已经看到了Java定时器服务的例子,但我不确定这是我要找的。我想让程序自己执行,我不必担心它在凌晨3点启动,完成工作,然后睡到第二天凌晨3点,等等。任何预先存在的问题,博客或指南的链接将非常感激(如果有的话),谢谢。
您可以尝试使用java.util.Timer
和java.util.TimerTask
类
有许多方法可以调度作业以指定的间隔运行
-
java.util.concurrent.ScheduledExecutorService
- Cron Jobs—您可以创建自己的作业来运行
- 石英调度程序-强大的API来调度作业
- Autosys作业调度程序
Quartz Scheduler库提供了在给定日期时间或固定间隔(每天、每年等)执行的触发器。使用一个非常简单的触发器表达式(如Cron)来声明调度。
查看以下链接获取更多信息:
- 石英2。x教程第1课
- MKYong Quartz Scheduler教程
您还可以使用Java EE定时器服务和注释来指定定时器何时运行。
@Schedule(dayOfWeek="Sun", hour="0")
public void autoTimer() { ... }
http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html