Ich tue dies eine neue Scheduler Bohne in resources.groovy erstellen:
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}")]
}
und den Code unten in BootStrap hinzuzufügen.
newQuartzScheduler.addJob(grailsApplication.mainContext.getBean('org.com.jobs.JobNameJobDetail'), true)
newQuartzScheduler.start()
Die ‚Detail‘ in Jobnamen notwendig ist, weil Quarz-Plugin eine Bohne für jeden Job erstellen und es schließt, dass Suffix an seinem Namen.
In meinem Fall muss ich eine andere Warteschlange haben, um nur einen meiner Aufträge auszuführen.
Das Quarz-Plugin fügt alle Jobs in Ihrem Scheduler hinzu.
Wenn Sie in beiden Disponenten alle Jobs haben müssen sehen doWithApplicationContext in QuartzGrailsPlugin Klasse
Dann müssen Sie die gleiche Anwendung auf einem Stand-alone-Instanz laufen, aber es auf die gleiche Datenbank zeigt. Suchst du danach? – Armaiti