Я знаю, что могу сбросить таймер Java, но, поскольку я уже проделал такую большую работу, используя только триггер cron, мне интересно, можно ли сбросить количество времени, оставшегося до срабатывания триггера.
Вот немного подробнее:
- На веб-сайте случайное событие выбирается из базы данных случайным образом и помещается на первой странице как событие «Featured».
- Каждые три часа событие удаляется, и процесс повторяется с новым избранным событием.
Так вот, где запускается триггер хрон. Теперь я хочу добавитьдополнительное правило:
Если все доступные места для этого события будут заняты, я хочу, чтобы это событие началось преждевременно, вращаясь сразу с новым показанным событием и возобновляя обычный шаблон каждые три часа.В противном случае распроданное событие просто останется на первой странице как «показанное».
Можно ли это сделать?Я использую фреймворк Java SpringSource на tomcat 6.
Спасибо.
Обновление : после продолжения еще нескольких запросов Google я наконец-то придумал "сбросить"() "функция из http://spacemapper.sourceforge.net/mn8/api/org/media/mn8/util/cron/CronTrigger.html. Но может ли это быть реализовано в 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>