gpt4 book ai didi

java - cron 触发器的计时器可以重置吗?

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:01 27 4
gpt4 key购买 nike

我知道我可以重置 Java 计时器,但是,由于我已经仅使用 cron 触发器完成了很多工作,我想知道是否可以重置触发器触发之前剩余的时间。

这里有更多细节:

  1. 在网站上,会从数据库中随机选择一个事件,并将其作为“精选”事件贴在首页上。
  2. 每三个小时,该 Activity 就会被删除,并通过新的特色 Activity 重复该过程。

这就是 cron 触发器的用武之地。现在,我想添加一条附加规则:

如果该 Activity 的所有可用位置都已被占用,我希望该 Activity 提前触发,立即推出新的特色 Activity 并恢复正常的每三个小时一次的模式。否则,售完的 Activity 只会作为“特色”停留在首页。

这可以做到吗?我在 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>

最佳答案

您可以使用at(它可以让您安排程序何时被调用)或者只编写一个 hibernate 的守护进程。使用 cron 来达到这个目的是很困惑的。

关于java - cron 触发器的计时器可以重置吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720168/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com