我们如何在springframework.scheduling.quartz.CronTriggerFactoryBean中添加startTime?

时间:2018-11-02 11:24:53

标签: spring cron quartz-scheduler spring-scheduled quartz

我们需要为弹簧石英调度程序添加 startTime 。让我们假设下面的bean为CronTriggerFactoryBean。并且我们需要在服务器启动5天后启动调度程序。

<bean id="sampleBean"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
  <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="beanManager"/>
    <property name="targetMethod" value="beanMethod"/>
    <property name="concurrent" value="false"/>
  </bean>
</property>
<property name="cronExpression" value="0 0/30 * ? * SUN-FRI"/>
</bean>

启动应用程序服务器时,以上调度程序配置未启动。它的运行方式

假设服务器在下午12:03启动。 调度程序分别在12:30, 13:00, 13:30, 14:00处调用。

但是我们想要的是服务器在下午12:03启动,这意味着调度程序应该在服务器启动时运行一次,并且在接下来的时间12:33, 13:03, 13:33, 14:03 ...

当我们为此bean设置 startTime 时,它将起作用吗?

1 个答案:

答案 0 :(得分:0)

您应该使用ng-model而不是SimpleTriggerFactoryBean并定义这样的触发器:

CronTriggerFactoryBean

这将每10秒运行一次作业,从服务器启动起的初始延迟为1秒。现在,根据您的要求调整值。