michaelklishin / quartz-mongodb

A MongoDB-based store for the Quartz scheduler. This fork strives to be as feature complete as possible. Originally by MuleSoft.
Other
247 stars 199 forks source link

better fix for #147? #163

Closed clixtec closed 5 years ago

clixtec commented 6 years ago

Hi, I tried to build and use the current snapshot that includes the fix for issue #147, and I got this on startup: Caused by: org.quartz.SchedulerException: JobStore class 'com.novemberain.quartz.mongodb.MongoDBJobStore' props could not be configured. [See nested exception: java.lang.NoSuchMethodException: No setter for property 'checkInErrorHandler.class'] at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:863) at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1525) at org.quartz.impl.StdSchedulerFactory.getDefaultScheduler(StdSchedulerFactory.java:1541) at co.skyhawk.ca.service.ReportingModule.configure(ReportingModule.java:38) ... 28 more Caused by: java.lang.NoSuchMethodException: No setter for property 'checkInErrorHandler.class' at org.quartz.impl.StdSchedulerFactory.setBeanProps(StdSchedulerFactory.java:1413) at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:861) ... 31 more

I believe an improved change to MongoDBJobStore and MongoStoreAssembler would be for the former to have a String property set by the usual StdSchedulerFactory mechanism, and simply read that property in createCheckInTask. Unfortunately the name of the property in quartz.properties would have to change slightly (drop the ".class"). I will submit a pull request shortly.

Thanks!

titogarcia commented 6 years ago

Thank you for this patch! I hope it is accepted.

ikv163 commented 5 years ago

Thank you for this patch! I hope it is accepted.

michaelklishin commented 5 years ago

I will try to find a way to handle non-existent property files and follow the class property naming convention of Quartz core (*.class) but diving into Quartz takes a fair amount of effort every time I spent a year not looking at it.

michaelklishin commented 5 years ago

FTR, I have an unfinished follow-up/refactoring in this area.