首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在springframework.scheduling.quartz.CronTriggerFactoryBean?中添加startTime

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

Stack Overflow用户
提问于 2018-11-02 11:24:53
回答 1查看 798关注 0票数 0

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

代码语言:javascript
复制
<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时,它会起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-06 07:51:47

您应该使用SimpleTriggerFactoryBean而不是CronTriggerFactoryBean,并定义如下触发器:

代码语言:javascript
复制
<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秒。现在,根据您的需求调整值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53117708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档