如何在达到特定系统时间时实现代码来执行某些操作? 我想到的唯一解决方案是使用计时器每隔几分钟或几小时“勾选”以检查是否已达到特定时间。
还有其他更好的解决方案吗?
感谢。
抱歉,如果我不清楚,我将在我的Java程序中实现代码,它是在新的一天到来之前清除日志记录并保存记录。
示例:清除当前记录并在23:59保存这些记录。
答案 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)