Description
The Deltaspike Scheduler runs fine if Quartz is configured with RAMJobStore. But if Quartz runs with JdbcJobstore, QuartzScheduler.registerNewJob() fails (stacktrace below). I think a simple check like
if (this.scheduler.getJobDetail(jobKey) != null)
would already help.
Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Job : 'DEFAULT.PastDueScanJob', because one already exists with this identification.
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1108)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1062)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3703)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3701)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3787)
at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:93)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1058)
at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:886)
at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:249)
at org.apache.deltaspike.scheduler.impl.QuartzScheduler.registerNewJob(QuartzScheduler.java:107)
at org.apache.deltaspike.scheduler.impl.SchedulerExtension.scheduleJobs(SchedulerExtension.java:126)
at org.apache.deltaspike.scheduler.impl.SchedulerExtension$Proxy$$$_WeldClientProxy.scheduleJobs(SchedulerExtension$Proxy$$$_WeldClientProxy.java)