2014-11-21 29 views
1

您好我的應用程序中有石英調度程序。名稱爲「DefaultQuartzScheduler」的調度程序已經存在,並且調度程序無法在關機後啓動

我的調度代碼是象下面這樣:

private void StartImportScheduler() 
{ 
static ISchedulerFactory _schedFact; 
static IScheduler _sched; 
_sched.Shutdown(true); 
_schedFact = new StdSchedulerFactory(); 
_sched = _schedFact.GetScheduler(); 
_sched.Start(); 
} 

在我的應用程序需要登錄和退出應用程序多次。

在每個註銷調度程序關閉,並在每個登錄調度程序啓動。

調度程序也用於我的應用程序在另一個地方。

當我註銷並重新登錄我發現下面的錯誤 -

計劃名稱爲「DefaultQuartzScheduler」已經存在 調度關機後無法啓動。

回答

1

documentation:

Note that once a scheduler is shutdown, it cannot be restarted without being re-instantiated. 

如果工廠總是返回調度的同一個實例,這就是爲什麼你的錯誤。您可以使用standby()方法來暫時停止計劃程序觸發觸發器。當調用start()時,它會使調度程序退出待機模式。