在Java中的特定时间运行程序或方法

时间:2010-03-21 21:13:17

标签: java scheduling

我只是希望我的程序或方法应该在特定的日期和时间运行。 我听说过java API中的Timer和TimerTask。但不知道如何使用它。

4 个答案:

答案 0 :(得分:3)

如果要在特定时间运行java程序,可能需要查看OS工具(如cron或at)。

如果你想在已经运行的java应用程序中运行一个方法,那么ScheduleExecutorService虽然可能有点过分,但它很容易使用。

答案 1 :(得分:1)

如果这是为了您自己的利益而不是为了一个项目,我建议你研究一下 http://java.sun.com/javase/6/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html,它是java.util.Timer的替代品。但是,如果你想要一个强大的调度程序,我同意之前关于Quartz的海报。

答案 2 :(得分:0)

也许您应该使用具有更高级别API的第三方库,例如Quartz并使用SimpleTrigger

答案 3 :(得分:0)

您可以在Glassfish Java EE服务器中运行任务。它支持定时服务,可以按指定的时间间隔触发后台任务。当您在不同的计算机上运行Glassfish服务器集群时,他们将协作完成一次任务。

更简单的方法是依赖cron用于Unix系统。在指定的时间,您可以通过java命令运行您的java任务。

我还在Windows上使用了pycron,这是一种模仿cron的服务。