2012-08-17 67 views
0

我已經實際觸發Quartz作業。但它不是在更新數據庫。 我的意思是,「PREV_FIRE_TIME」列未更新。我已經運行下面的代碼。石英作業不更新數據庫

stdScheduler.triggerJob(jobName,jobGroupName); 

雖然,正常的作息時間執行數據庫過程中得到更新,但如果我進行特設 來看,它不是更新數據庫。 任何人都可以請建議。

在此先感謝。

+0

你的工作被解僱嗎?或者你的意思是工作被解僱但不更新數據庫 – Rips 2012-08-17 15:02:37

+0

是的,工作被正確解僱,但數據庫沒有得到更新。 – 2012-08-18 09:52:28

回答

1

我懷疑你的工作班沒有在交易下運行。 當石英拿起作業並運行執行方法時,它處於不同的線程中。您需要將其包裝在事務中。在春季,我將圍繞執行方法設置交易建議。 交替你可以在石英中設置下面的屬性true,它應該爲你做這項工作:

org.quartz.scheduler.wrapJobExecutionInUserTransaction=true 
+0

@tomasznurkiewicz如何在基於註解的配置的春季4中實現同樣的效果。請[see](http://stackoverflow.com/questions/41213446/how-to-run-update-query-in-spring-jpa-for-quartz-job)我的問題 – pise 2016-12-18 22:21:18