我在Netbeans中有一个Java /数据库项目,我想在设定的时间每天运行一次。我正在使用Derby作为数据库驱动程序。我正在尝试自动化流程。
说我的标准是它必须在数据库中填充500行。 (所以说在它运行的预定时间它只能填充400行,然后可能在2小时之后它再次尝试运行以填充最后100行)
答案 0 :(得分:3)
如何“安排”此程序在指定时间运行?
这可以通过两种方式之一完成,具体取决于您的操作系统 - 编写一个可以在您需要的时间间隔启动Java程序的作业。然后,您可以在启动时挂起作业。
在Linux中,您可以通过cron作业完成此操作。在Windows上,您可以参考此http://support.microsoft.com/kb/308569。
您也可以使用http://quartz-scheduler.org或http://www.sauronsoftware.it/projects/cron4j/将调度程序编程到您的java程序中。
如何自定义此选项以便在满足特定条件之前继续运行?
这可能是在你的程序中最好的建立,虽然没有太多的信息很难给你指导。
最后,自动化和计划任务的最佳实践是什么?
根据您的应用程序架构,可以在应用程序内处理调度和自动化,也可以从操作系统获得支持。标准取决于应用程序需要多少控制,哪个平台使调度变得容易等等。
希望这会有所帮助。
答案 1 :(得分:0)
Quartz是Java的调度项目。我在很多项目中都使用它,发现它非常直观。
无论如何,它可能会超过您的最佳状态,但值得一看。
答案 2 :(得分:0)
您可以使用Timer来安排事件&必须使用TimerTask
实现事件/任务