系统时间到达特定时间时执行代码

时间:2013-05-15 02:18:44

标签: java

如何在达到特定系统时间时实现代码来执行某些操作? 我想到的唯一解决方案是使用计时器每隔几分钟或几小时“勾选”以检查是否已达到特定时间。

还有其他更好的解决方案吗?

感谢。

抱歉,如果我不清楚,我将在我的Java程序中实现代码,它是在新的一天到来之前清除日志记录并保存记录。

示例:清除当前记录并在23:59保存这些记录。

7 个答案:

答案 0 :(得分:2)

在纯Java中,有一个Timer class。如果您已经运行了程序,这将非常有用。或者您正在运行始终处于启动状态的Web应用程序。

另一种选择是使用操作系统(UNIX cron)并让它在那时启动Java程序。如果您不满足Timer的条件,这将非常有用。

答案 1 :(得分:1)

你可以制作一个持续时间很长的计时器。如果触发时间从现在开始是350分钟,那么每分钟都有一次定时器轮询以查看是否达到了时间。只需将计时器设置为350分钟即可。一旦它发射,移除计时器。这称为一次性计时器。遗憾的是,我无法回答如何在Java中专门做这件事。

答案 2 :(得分:1)

如果您使用的是类Unix系统,请查看cron

如果您在Windows上,请查看What is the Windows version of cron?

答案 3 :(得分:1)

Quartz Scheduler Framework是一个企业级框架,可用作Timer。

答案 4 :(得分:1)

如果我理解你的问题,对于unix,你可以将你的代码放在crontab中,并安排它在特定的系统时间运行。而对于Windows,您可以使用任务计划程序。这就是我们如何为夜间构建运行特定的测试脚本。

答案 5 :(得分:0)

did you try Quartz Scheduler? ,它是一个功能强大的高级调度程序框架,可帮助Java开发人员调度作业以在指定的日期和时间运行。click here for more

答案 6 :(得分:0)