2016-04-29 82 views
0

我正在使用grails quartz plugin在我們的應用程序中實現調度。我用QuartzConfig.groovy props創建了一個調度器,這是一個集羣調度器。我想在同一個應用程序中使用另一個調度程序進行非集羣調度。使用聖盃石英插件的多個調度程序

我該如何使用相同的grails石英插件來實現這一點。

+0

然後,你必須運行上的獨立實例相同的應用程序,但指向同一個數據庫。這是你想要的? – Armaiti

回答

0

我這樣做是resources.groovy創建一個新的調度豆:

newQuartzScheduler(org.springframework.scheduling.quartz.SchedulerFactoryBean) { 
    Properties properties = new Properties() 
    properties.setProperty('org.quartz.threadPool.threadCount', 5) 
    quartzProperties = properties 

    autoStartup = false 
    waitForJobsToCompleteOnShutdown = true 
    exposeSchedulerInRepository = false 
    jobFactory = ref('quartzJobFactory') 
    globalJobListeners = [ref("${SessionBinderJobListener.NAME}"), ref("${ExceptionPrinterJobListener.NAME}")] 
} 

和自舉添加下面的代碼。

newQuartzScheduler.addJob(grailsApplication.mainContext.getBean('org.com.jobs.JobNameJobDetail'), true) 
newQuartzScheduler.start() 

,由於石英插件創建爲每個作業一個bean,它包括後綴在他的名字在作業名「細節」是必要的。

在我的情況下,我需要有一個不同的隊列來執行我的任務之一。

石英插件添加調度程序中的所有作業。

如果您需要在兩個調度所有作業看doWithApplicationContext在QuartzGrailsPlugin類