Как повторить cronExpression в определенный период времени? - PullRequest
1 голос
/ 26 января 2011

привет всем, у меня есть cronExpression, что я хочу, чтобы он запускался при запуске приложения и повторялся каждую секунду, я определяю cronExpression через конфигурацию xml следующим образом:

<bean id="myCronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="myJob" /> 
        <property name="cronExpression" >
        <value>${first.trigger.time}</value> 
        </property>      
</bean>

любая помощь, пожалуйста?

Ответы [ 2 ]

4 голосов
/ 26 января 2011
0/1 * * * ? *

(возможно * * * * ? * тоже работает)

@ см .: http://www.quartz -scheduler.org / docs / tutorials / crontrigger.html

Это срабатывает каждую секунду.

Если вам нужна фиксированная задержка в 1 секунду вместо стрельбы каждую секунду, то вы можете использовать аннотации Spring 3.0 для: @Scheduled(fixedRate=1000)

@ см: http://static.springsource.org/spring/docs/3.0.x/reference/scheduling.html

Кстати: вы можете использовать аннотацию @Scheduled(cron="*/1 * * * * MON-FRI") вместо конфигурации XML.

1 голос
/ 01 декабря 2011

Вы также можете использовать SimpleTrigger, который больше подходит для вашего использования.

Из урока SimpleTrigger :

SimpleTrigger должен удовлетворить ваши потребности планирования, если вам нужно иметь задание выполняется ровно один раз в определенный момент времени или определенный момент времени, за которым следуют повторения через определенный интервал.

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail" ref="jobDetailBean" />
    <property name="repeatInterval" value="1000" />
</bean>
...