2012-07-18 105 views
4

java Quartz Scheduler是否支持異步作業調度。如果是這樣,是默認的還是必須定製作業以異步運行。Quartz中的異步作業調度

+0

「異步作業調度」是什麼意思?默認情況下,Quartz中的作業使用不同的線程執行。 – nobeh 2012-07-18 14:09:57

+0

實現並行化。 – 2012-07-18 14:14:22

+2

我認爲你所要求的答案是[這裏](http://stackoverflow.com/questions/11361939/quartz-thread-execution-parallel-or-sequential) – 2012-07-18 14:15:38

回答

4

不僅它支持這種行爲,而且基本上沒有其他辦法。一旦你安排了一個工作和一個觸發器(在任何線程中),這個工作將在一個線程池中異步執行。您可以像線程數一樣控制該線程池。

另一個問題是並行執行相同的工作。默認情況下,同一作業可以運行在由不同線程啓動的多個線程中,除非作業爲有狀態

+0

我在Quartz中遇到的一個問題是......當正在執行的作業中,我不能使用相同的調度程序實例讀取作業,觸發器,組等的列表,直到作業執行完畢。如果我嘗試在作業執行時使用scheduler.getGroupNames(),我會得到空指針異常。有沒有辦法解決這個問題。任何幫助將不勝感激。 – 2012-07-20 02:50:00

+0

@SangramAnand:聽起來像是Quartz中的一個bug。也許作爲單獨的問題發佈,甚至報告錯誤? – 2012-07-20 06:32:17

+0

好的,謝謝你的建議。將張貼。 – 2012-07-20 16:27:59

1

是的,它應該是默認的。我在我的Grails應用程序中爲我的網站使用了Quartz,併爲每個作業分配了新線程。