0
在我的情況下,客戶可以安排一份工作。正如我所看到的,石英通常使用cronExpression來執行計劃。但有很多客戶有很多時間表,我不能寫很多觸發器豆,因爲我不知道有多少時間表是真的,這取決於客戶。那麼,有人會幫忙嗎?我該如何運行幾個使用石英彈簧配置的日程表
在我的情況下,客戶可以安排一份工作。正如我所看到的,石英通常使用cronExpression來執行計劃。但有很多客戶有很多時間表,我不能寫很多觸發器豆,因爲我不知道有多少時間表是真的,這取決於客戶。那麼,有人會幫忙嗎?我該如何運行幾個使用石英彈簧配置的日程表
Quartz旨在在運行時添加和刪除作業和觸發器。 Spring是一個退化的案例,所有觸發器和作業都是在啓動時定義的。在石英,具有Scheduler
實例時,你可以輕鬆地創建,瀏覽和你的願望,例如從How-To: Scheduling a Job刪除觸發器:
// Define job instance
JobDetail job1 = newJob(ColorJob.class)
.withIdentity("job1", "group1")
.build();
// Define a Trigger that will fire "now", and not repeat
Trigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.startNow()
.build();
// Schedule the job with the trigger
schedulder.scheduleJob(job, trigger);
見official documentation,尤其是cookbook。
作業之間(一張包裹在一個類別碼應該被執行)和一個觸發器(在其下執行的作業時間條件)亦區分。請記住,默認情況下,當與作業(作業可能有多個觸發器)關聯的最後一個觸發器觸發時,作業將從調度程序中刪除。
您應該區分觸發器和作業的定義,許多作業可以使用相同的觸發器。真正的問題是什麼? – Thinhbk
然後,您應該爲不同的客戶端動態重新創建作業的觸發器。 [實施例](http://darthanthony.wordpress.com/2009/07/07/dynamic-scheduling-with-javaspring/)。 – nobeh
「按上述方法連接一個SchedulerFactoryBean,我們將使用這個有線的Spring服務來創建我們的時間表。」這是必要的,如上例中所述。那麼StdSchedulerFactory.getDefaultScheduler();呢? – user1450233