spring quartz 服务器启动没有执行
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
引用来自“焙焙龙”的评论
用SimpleTriggerBean
CronTriggerBean就是按照cron表达式来执行的,不到时间不干活
另外每天每小时执行一次是 0 0 * * * ?
前面俩0表示是整点执行,如果是半点执行的话则是0 30 * * * ?
或者每半点执行的话是0 0,30 * * * ?
非常感谢谢,我用simpleTriggerbean试试.
刚看了下,simpleTriggerBean 是根据秒数来执行,我的业务是根据没到整点需要执行,如果用simpleTriggerBean服务器启动必须整点启动? CronTriggerBean不能实现服务器启动后执行一次吗?
用SimpleTriggerBean
CronTriggerBean就是按照cron表达式来执行的,不到时间不干活
另外每天每小时执行一次是 0 0 * * * ?
前面俩0表示是整点执行,如果是半点执行的话则是0 30 * * * ?
或者每半点执行的话是0 0,30 * * * ?