在我的项目中,我们是 Quartz 的新手用户,正在编写我们的第一个 Quartz 任务。我们的任务正在运行,但显然我们想了解如何管理它们。我们在 Spring 中配置它们,如下所示:
<bean name="enoteExpirationTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="gov.usdoj.afms.enote.job.DailyExpirationJob" />
<property name="jobDataAsMap">
<map>
<entry key="messageService" value-ref="enoteMessageService" />
<entry key="logicalDeleteAge" value="${expiryProcess.logical.age}" />
<entry key="physicalDeleteAge" value="${expiryProcess.physical.age}" />
</map>
</property>
</bean>
<bean id="cronEnoteExpirationTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="enoteExpirationTask" />
<property name="cronExpression" value="0 0 7 * * ?" />
</bean>
问题 1:我可以让 Quartz 重新读取这个配置,这样如果我在运行时改变它,它就会改变它的调度吗?这将是最简单的解决方案,但我们没有看到任何内容。我希望我们错过了什么。
问题 2:如果没有,我知道应该有第三方工具来执行此操作,Teracotta 就是其中之一。是否有任何开源或免费软件实用程序可以让您非常简单地更改时间表?
问题 3:如果不是,那么编写一个小的 Java 实用程序来完成它涉及什么?值得写一个吗?或者 Teracotta 是否有足够的附加值让您推荐购买它?如果是这样,我可以向管理层出售哪些不同的功能?