2014-03-25 75 views
0

我正在使用Quartz Scheduler,我需要製作一個調度程序,它將在程序中每三個月執行一次特定的工作。所以我如何使cronExpression所以我可以在java中做這個事情? 我需要一個月,兩個月六個月的間隔。在Quartz Scheduler中的CronScheduleBuilder

+0

您正在使用的當前時間表達式是什麼? –

+0

(0/5 * * * *?)這是我正在使用,但你可以解釋它?怎麼運行的。 ? – Krishna

+0

這就是說每5秒觸發一次 試試這個 「0 0 0 * 1,4,7,10?」 –

回答

4

這個表達式進行測試並完全適用於石英2.2

"0 0 0 1 1/3 ?" 

上述表達式將觸發每3個月在00:00時開始1月1日。接下來是4月1日00:00。

爲每2個月使用該

"0 0 0 1 1/2 ?" 

您可以更改前三個零,只要你喜歡。他們指的是本月1日的時間。下一個數字,即我的情況中的「1」是日期。

+0

它工作?和雅我如何嘗試這個代碼和雅我必須改變我的cal日期是這樣嗎? – Krishna

+0

你能告訴我一件事嗎?手段?? – Krishna

+0

是的,你必須操縱你的系統日曆來測試代碼。 要測試它使用此 String time =「0 0 0 1 1/3?」; JobKey jobKey2 =新JobKey(「job1」,「group1」); Scheduler scheduler = new StdSchedulerFactory()。getScheduler(); JobDetail job = JobBuilder.newJob(HelloJob.class).withIdentity(jobKey2).build(); 觸發器觸發器= TriggerBuilder.newTrigger()。withIdentity(「dsd」,「group1」)。 (CronScheduleBuilder.cronSchedule(time))。build(); scheduler.start(); scheduler.scheduleJob(job,trigger); –

相關問題