如何在Java中运行scheduleTime?

时间:2019-06-12 04:46:50

标签: java

当我安排一些时间时,我有一个疑问,那就是安排得很好。但是,当tomcat服务器打开时它将进入。但是当我停止服务器并再次运行tomcat服务器时,当时它无法正常工作,即先前安排的时间。

例如,我在tomcat服务器中运行程序,并且我计划在10:30 AM每天执行一些任务。但是,我在10:15 AM停止了tomcat服务器,然后我再次重启服务器,正如我告诉你的那样我将时间安排在上午10:30执行一些任务。但是,我重新启动了服务器。在这种情况下,计划时间为上午10:30,不执行给定的计划任务。

在这种情况下,请给我任何帮助。 谢谢。

2 个答案:

答案 0 :(得分:0)

请检查tomcat服务器的时区,如果未按照您的时区进行配置,请更新它。

显式处理时区会使您的应用程序更加复杂(但更正确,更令人惊讶,更难测试),其次,最好的方法是显式地使tomcat(java)知道服务器时钟设置为哪个时区。小心:可以通过以下几个级别进行设置:将服务器时钟设置为UTC,将服务器操作系统配置为PST,然后让Java知道服务器所在的时区,例如在setenv.sh中,请执行CATALINA_OPTS =“ $ CATALINA_OPTS -Duser.timezone = America / Los_Angeles”(或任何时区)来为您的时区配置Java。

尝试一下,希望对您有所帮助。

答案 1 :(得分:0)

cronjob将是必经之路,因为它不受Tomcat的影响。即使Tomcat关闭,cronjob也会在正确的时间运行。您可能需要提取一些应用程序逻辑并将其放入另一个jar中,以便可以通过cronjob调用它。