配置:
<bean id="simpleTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="runMeJob" />
<property name="repeatInterval" value="5000" />
<property name="startDelay" value="1000" />
</bean>
<!-- Cron Trigger -->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="runMeJob" />
<property name="cronExpression" value="0 45 16 ? * MON-FRI" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="runMeJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
我需要在每个工作日的 16:45 运行一次任务。
simpleTrigger
如果我不使用 repeatInterval
会发出警告,因为它不能是 0
,但我不需要它,因为需要我的任务每天执行一次。
最佳答案
为什么你有 simpleTrigger?您的 cronTrigger 应该足以在每个工作日的 16:45 运行任务。
<!-- Cron Trigger -->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="runMeJob" />
<property name="cronExpression" value="0 45 16 ? * MON-FRI" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="runMeJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="cronTrigger" /> <!-- use cronTrigger instead of simpleTrigger -->
</list>
</property>
</bean>
关于java - quartz : run task once a day, 无重复间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7981605/