講師回答 / 翔仔
不好意思哈,前段時間太忙導致現在才能回答問題。針對同學的問題,這個更偏向于業務,既然是業務需求,就不必拘泥于用quartz來完成。以下提供簡單的實現思路:你可以new一個quartz任務,每十天執行一次,再new一個quartz任務,每天凌晨執行一次,用來檢查每十天執行的任務的那個task是否執行成功,距離上次執行時間是否超過了一天。細節是可以在某張表或者內存里設置一個狀態量還有記錄上次執行第一個任務(10天執行一次的任務)的執行時間,如果一次任務成功率不達標,就給狀態量置為false,同時將執行的時間記...
2017-07-31
老師最后說endAt是優先于withRepeatCount的,個人覺得這句話有誤,應該是從兩者中取較先結束的那個作為結束條件。 老師的例子作為一個方面,即endAt時間早于repeatCount的第三次執行,因此未執行夠就結束了。我自己又寫了個例子, endAt在100秒之后,每兩秒執行一次,repeat 3次,3次之后也是結束了,沒有到endAt的時間; 因此這樣看來是取兩者的較早者的時間作為結束條件的,不存在誰優先于誰的情況,個人拙見,歡迎指正
2017-07-26
講師回答 / 翔仔
這個是Quartz 中自帶的一個線程池的實現。類如其名,這只是線程池的一個簡單實現,沒有提供動態自發調整等高級特性。你可以在里面預先指定好并發的線程數,就好比生產者消費者模型,里面就有有限的工作者線程,在同一時間內就只能并發執行相應數量的任務,多出的任務就要排隊。它的具體實現同學可以去看看相關的源碼,肯定會有收獲。 使用方式有兩種,第一種在quartz.properties里面去指定,主要指定這個參數org.quartz.threadPool.threadCount,咱們在教程里也默認聲明式地用上了這個線...
2017-07-23
最新回答 / 金金offer來
可以啊,用“,”隔開就好。?!埃?表示指定多個值,例如在時字段上設置 "9,12,20"就表示在9:00,12:00,20:00這三個時間點觸發?Cron表達式是:0 0 9,12,20 * * ??
2017-07-21