我们需要为spring石英调度程序添加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时,它会起作用吗?
发布于 2018-11-06 07:51:47
您应该使用SimpleTriggerFactoryBean而不是CronTriggerFactoryBean,并定义如下触发器:
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="jobDetail" ref="simpleJobDetail" />
<property name="startDelay" value="1000" />
<property name="repeatInterval" value="10000" />
</bean>这将每10秒运行一次任务,从服务器启动到初始延迟1秒。现在,根据您的需求调整值。
https://stackoverflow.com/questions/53117708
复制相似问题