2015-03-24 4 views
-1

У меня есть bean Я хочу функционировать весной Я хочу работать только один раз в день в полночь. для теста он помещает дату в очередь, когда она запускается и умирает.Spring @Scheduled issue with Scheduling

У меня возникла проблема с тем, чтобы она работала должным образом.

@Scheduled(cron = "1 0 * * * *") 

, когда я ставлю это так, то функция выполняется каждый час вместо каждого полночь

"Вт Мар 24 12:00:02 PDT 2015": "Сброс", «Tue Mar 24 13:00:02 PDT 2015" : "Сброс"

Вот мой confs а

<context:component-scan base-package="com.bla" /> 

    <mvc:annotation-driven /> 

    <task:annotation-driven executor="taskExecutor" 
scheduler="taskScheduler"/> 

    <task:scheduler id="taskScheduler" pool-size="1" /> 


    <bean id="taskExecutor" 


class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor" 
destroy-method="shutdown"> 

    <property name="corePoolSize" value="100" /> 

    <property name="maxPoolSize" value="150" /> 

    <property name="WaitForTasksToCompleteOnShutdown" value="false" /> 

    </bean> 

ответ

1

Spring использует кварцевый планировщик с немного другим синтаксисом, чем хроны (смотрите здесь http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger)
Она начинается от нескольких секунд не минут, так ваше выражение shoudl быть:

@Scheduled(cron = "1 0 0 * * ?") 
+0

лол не мог понять, за день, за исключением том, как ответ – PulsAm

Смежные вопросы