Quartz Scheduler 测试场景不工作
Quartz Scheduler Testing scenario not working
我正在使用 quartz scheduler
和我的 spring
应用程序。到目前为止一切正常,但是在未来测试计划的工作时让我们说一个月后,我安排了一个工作,然后将我的 linux
机器的系统时间更改为那天和应该触发前 5 分钟开火。我等着,扳机开火时间来了又过去了,但没有开火。我能够测试的另一种方法是更改 oracle table 中的触发时间,这样我们就不需要更改系统时间。当我安排第二天 4 点的工作时它也有效(无需更改任何日期,但我等了 24 小时才开火并且它确实如此)。我不明白为什么加速系统时间不适用于石英。任何解释都会有所帮助。谢谢!
P.S:我使用的是 quartz 的核心库,而不是 spring 集成的 quartz 库。
在这上面花了很长时间后,我启用了 org.quartz
的日志,发现 quartz
在应用程序加载时未初始化。以下代码段将在启动期间初始化 quartz
:
<servlet>
<servlet-name>QuartzInitializer</servlet-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>start-scheduler-on-load</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config-file</param-name>
<param-value>quartz.properties</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
我正在使用 quartz scheduler
和我的 spring
应用程序。到目前为止一切正常,但是在未来测试计划的工作时让我们说一个月后,我安排了一个工作,然后将我的 linux
机器的系统时间更改为那天和应该触发前 5 分钟开火。我等着,扳机开火时间来了又过去了,但没有开火。我能够测试的另一种方法是更改 oracle table 中的触发时间,这样我们就不需要更改系统时间。当我安排第二天 4 点的工作时它也有效(无需更改任何日期,但我等了 24 小时才开火并且它确实如此)。我不明白为什么加速系统时间不适用于石英。任何解释都会有所帮助。谢谢!
P.S:我使用的是 quartz 的核心库,而不是 spring 集成的 quartz 库。
在这上面花了很长时间后,我启用了 org.quartz
的日志,发现 quartz
在应用程序加载时未初始化。以下代码段将在启动期间初始化 quartz
:
<servlet>
<servlet-name>QuartzInitializer</servlet-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>start-scheduler-on-load</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config-file</param-name>
<param-value>quartz.properties</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>