2012-09-24 181 views
1

我有5個不同的石英調度程序,實現5個不同的工作。如果我停止一個調度程序,剩下的調度程序將停止。爲什麼?停止單石英調度程序

+0

您應該在您的問題中添加更多細節,例如實際相關的代碼和配置代碼片段,以使其更清晰並獲得一些答案。 –

+0

爲什麼不同的調度程序,每個工作一個?爲什麼不只是一個?另外,需要guido提到的更多細節。 – Vikdor

+0

你或者將* scheduler *和* trigger *混淆在一起,或者如果不是 - 你應該使用不同的* triggers *,而不是* schedulers * :-)。您可以在一個調度程序的運行時添加/刪除觸發器。 –

回答

0

我很確定你實際上創建了對同一個調度器的引用,你需要給每個調度器一個不同的「SchedulerName」。目前看起來每次創建一個新的調度程序時都會默認SchedulerName。

「作業執行程序」實際上不是SchedulerFactoryBean。 Scheduler bean(精確調用其start方法調用啓動Trigger-s的聚合QuartzScheduler.start方法)由SchedulerFactoryBean提供。事實上,這個調度器在SchedulerRepository單例(SchedulerRepository.getInstance())中的調度器名稱(如果未明確設置,它具有與每個配置的SchedulerFactoryBean相同的默認值)存儲(並查找)。 這是如何,除非您爲您的SchedulerFactoryBean-S不同schedulerName,你總是會被每一個SchedulerFactoryBean來-S

http://forum.springsource.org/showthread.php?40945-Multiple-Quartz-SchedulerFactoryBean-instances

我知道這指的Spring bean,但我仍然會得到相同的調度認爲這同樣適用於此。

+0

嗨@ant,drobson非常感謝...請問我能告訴我如何定義或哪些方法用於爲Java中的調度器設置名稱,而不是XML。 –

+0

我不知道如何在沒有xml屬性文件的情況下命名它。我試過尋找JavaDocs,但找不到任何東西。 – drobson

+0

非常感謝你..我會努力:) –