spring quartz 服务器启动没有执行

发布于 2021-11-24 11:50:42 字数 1876 浏览 982 评论 4

spring quartz 服务器启动时没有马上执行一次,而是到设定的时间才执行。怎么配置可以让服务器已启动就执行一次。

xml配置:startDelay也设置了,就是没有执行

<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject" ref="quartzJob" />
  <property name="targetMethod">
   <value>synchronizeDb</value>
  </property>
  <property name="concurrent" value="false" />
 </bean>
 
 <!-- 任务调度计时器,进行定时设置。CronTriggerBean能进行非常精确的定时设置 -->
 <bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail" ref="jobDetail" />
   <property name="startDelay" value="1000" />
  <!-- cron表达式 -->
  <property name="cronExpression">
   <!--   0 0 */2 * * ? 每两小时、整点触发 -->
   <!--   0 0/2 * * * ? 每两分钟  -->
   <!--   0/5 * * * * ? 每五秒钟  -->
   <!--   0 15 10 * * ? 每天Y分X点触发  -->
   <!-- 0 0 * * * ? 每小时-->
   <value>0 0/2 * * * ?</value>
  </property>
 </bean>
 
 <!-- 调度任务触发器,启动定时任务-->
 <bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
   <list>
    <ref bean="cronQuartzClock" />
   </list>
  </property>
 </bean>   

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瀞厅☆埖开 2021-11-29 04:41:18

引用来自“焙焙龙”的评论

用SimpleTriggerBean

CronTriggerBean就是按照cron表达式来执行的,不到时间不干活

另外每天每小时执行一次是 0 0 * * * ?

前面俩0表示是整点执行,如果是半点执行的话则是0 30 * * * ?

或者每半点执行的话是0 0,30 * * * ?

离去的眼神 2021-11-28 22:07:28

非常感谢谢,我用simpleTriggerbean试试.

贱贱哒 2021-11-28 08:19:26

刚看了下,simpleTriggerBean 是根据秒数来执行,我的业务是根据没到整点需要执行,如果用simpleTriggerBean服务器启动必须整点启动? CronTriggerBean不能实现服务器启动后执行一次吗?

狼亦尘 2021-11-25 17:08:17

用SimpleTriggerBean

CronTriggerBean就是按照cron表达式来执行的,不到时间不干活

另外每天每小时执行一次是 0 0 * * * ?

前面俩0表示是整点执行,如果是半点执行的话则是0 30 * * * ?

或者每半点执行的话是0 0,30 * * * ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文