我知道我可以重置Java计时器,但是,由于我已经使用cron触发器完成了很多工作,我想知道是否可以重置触发器触发之前的剩余时间。
这里有更多细节:
这就是cron触发器的用武之地。现在,我想添加一个额外的规则:
如果采取了该事件的所有可用位置,我希望该事件过早地触发,立即使用新的特色事件旋转并恢复正常的每三小时模式。否则,售罄的活动只会在首页上徘徊为“精选”。
可以这样做吗?我在tomcat 6上使用Java SpringSource框架。
谢谢。
更新:在继续进行了几次谷歌查询之后,我终于想出了http://spacemapper.sourceforge.net/mn8/api/org/media/mn8/util/cron/CronTrigger.html中的“reset()”功能。但这可以在Spring实现吗?
以下是一些代码,计时器当前未设置为3小时,仅用于测试:
<bean id="queueJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.---.-.service.scheduler.BaseQuartzScheduler" />
<property name="jobDataAsMap">
<map>
<entry key="processorName" value="scheduleListingActions" />
<entry key="methodName" value="revolveQueue" />
</map>
</property>
</bean>
<bean id="queueCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="queueJob" />
<property name="cronExpression" value="1-59/59 * * * * ?" />
</bean>
答案 0 :(得分:1)
您可以使用at
(允许您安排何时调用程序)或只编写一个睡眠的守护进程。为此目的使用cron很麻烦。