1

我在 Netbeans 中有一个 Java/Database 项目,我想在设定的时间每天运行一次。我正在使用 Derby 作为数据库驱动程序。我正在尝试自动化一个过程。

  1. 如何“安排”该程序在指定时间运行?
  2. 如何自定义它以继续运行,直到满足特定条件?

假设我的标准是它必须在数据库中填充 500 行。(所以说在它运行的预定时间它只能填充 400 行,然后可能 2 小时后它再次尝试运行以填充最后 100 行)

  1. 最后,自动化和计划任务的最佳实践是什么?
4

3 回答 3

3

如何“安排”该程序在指定时间运行?

这可以通过以下两种方式之一完成,具体取决于您的操作系统 - 编写一个在您需要的时间间隔启动 java 程序的作业。然后,您可以连接要在启动时启动的作业。

在 Linux 中,您可以通过一个 cron 作业左右来完成此操作。在 Windows 上,您可以参考此http://support.microsoft.com/kb/308569

您还可以使用http://quartz-scheduler.orghttp://www.sauronsoftware.it/projects/cron4j/将调度程序编程到您的 java 程序中。

如何自定义它以继续运行,直到满足特定条件?

这可能最好在您的程序中建立,尽管如果没有太多信息很难给您指示。

最后,自动化和计划任务的最佳实践是什么?

根据您的应用程序架构,调度和自动化可以在应用程序内处理,也可以从操作系统获得支持。标准取决于应用程序需要多少控制,哪个平台使调度变得容易等。

希望这可以帮助。

于 2012-11-09T22:01:54.037 回答
0

Quartz是 Java 的调度项目。我在很多项目中都使用过它,发现它非常直观。

对于您的追求,它可能有点过头了,但无论如何都值得一看。

于 2012-11-09T22:04:34.380 回答
0

您可以使用 Timer 来安排事件,并且必须使用 TimerTask 来实现事件/任务

于 2012-11-09T23:07:32.297 回答