2010-02-11 60 views
1

我有一個簡單的石英觸發器在Spring 2.5.6-SEC01中運行。石英CRON觸發器沒有在預期時發射

觸發的定義是這樣的:

<bean id="AdvicesCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
    <property name="jobDetail" ref="AdvicesQuartzJob"/> 
    <property name="cronExpression" value="0 20/15 * * * ?"/> 
</bean> 

這是我的調度廠:

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="triggers"> 
     <list> 
     <ref bean="AdvicesCronTrigger"/> 
     </list> 
    </property> 
</bean> 

我讀過this documentation約射擊科雷從石英觸發。這是一個摘錄:

CronTrigger實施例1 - 表達式 創建觸發器,簡單地觸發 每5分鐘

「?0 0/5 * * *」

今天我在9:40解僱了我的程序。這是我的執行輸出:

編輯:鮑比是對他的讚賞。我updatted我的執行日誌:

2010-02-11 09:50:00,000 INFO - START

2010-02-11 10:20:00,000 INFO - START

2010-一十月2日至11日:35:00000 INFO - START

2010-02-11 10:50:00000 INFO - START

2010-02-11 11:20:00000 INFO - START

2010-02-11 11:35:00,000 INFO - START

我預計這將觸發在

9:50

10:05

10被解僱:20

10:35

...

如何做到這一點?哪個CRON表達式使用?

回答

2

20/15 cron表達式的一部分表示每小時20分鐘後每15分鐘一次。這意味着它將始終在第20分鐘開始。

我從來沒有測試過,但也許這樣的一個表達式是你要搜索的內容:
0 */15 * * * ?

+0

爲什麼然後在9點40分執行應用程序後在9:50 Quartz觸發我的觸發器? – sourcerebels 2010-02-11 10:01:45

+0

因爲我認爲它翻譯20,35,50表達式中的20/15表達式。 – Bobby 2010-02-11 10:05:59

+0

問題是,我有一些(現在是2)石英觸發器,我不希望它在同一時間被觸發,其他觸發器,但我希望所有人都有相同的週期。我第一次寫10/15,第二次觸發20/15。 – sourcerebels 2010-02-11 10:34:33