2

Recenlty upgarded the quartz scheduler jar from version 2.1.6 to 2.3.2 . Having the quartz.properties set to old configuration having called the plugin XMLSchedulingDataProcessorPlugin in my quartz.properties i have started receiving classNotFound exception. So i went ahead and decompiled the quartz jar and found that the org.quartz.jobs package itself is missing from 2.3.2 version. Can anyone help with overcoming this issue??

The exception is receive is below:

Caused by: java.lang.ClassNotFoundException: org.quartz.jobs.FileScanListener
        at java.net.URLClassLoader.findClass(URLClassLoader.java:607) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:844) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:823) ~[?:1.8.0-internal]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:803) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.defineClassImpl(Native Method) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:349) ~[?:1.8.0-internal]
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154) ~[?:1.8.0-internal]
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:727) ~[?:1.8.0-internal]
        at java.net.URLClassLoader.access$400(URLClassLoader.java:95) ~[?:1.8.0-internal]
        at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1182) ~[?:1.8.0-internal]
        at java.security.AccessController.doPrivileged(AccessController.java:686) ~[?:1.8.0-internal]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:602) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:844) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:823) ~[?:1.8.0-internal]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325) ~[?:1.8.0-internal]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:803) ~[?:1.8.0-internal]
        at org.quartz.simpl.InitThreadContextClassLoadHelper.loadClass(InitThreadContextClassLoadHelper.java:72) ~[quartz-2.3.2.jar:?]
        at org.quartz.simpl.CascadingClassLoadHelper.loadClass(CascadingClassLoadHelper.java:114) ~[quartz-2.3.2.jar:?]
        at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1084) ~[quartz-2.3.2.jar:?]
        ... 3 more

Below is my quartz.properties :

org.quartz.scheduler.instanceName = TESTAPP
org.quartz.scheduler.jmx.export = true
org.quartz.threadPool.threadCount = 5

org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = testapp-jobs.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 0
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false
Littm
  • 4,923
  • 4
  • 30
  • 38
Sumesh
  • 21
  • 2
  • 1
    Use this [quartz jar](https://repo.maven.apache.org/maven2/org/quartz-scheduler/quartz-jobs/2.3.2/) file available in this repository, as i could see the FileScanListener class file with package name as org.quartz.jobs. If this solution works let me know. – jose praveen May 11 '20 at 16:34
  • Thanks worked for the issue i was facing, didn't realise that the dependecy of quratz-jobs was provide as an individual package. Thanks for the help -josepraveen – Sumesh May 14 '20 at 09:07
  • I have added my solution as an answer. please mark my answer as accepted. Thanks – jose praveen May 15 '20 at 02:55

1 Answers1

2

From this maven repository, you need to use quartz-jobs jar file with latest version.

I could see the FileScanListener.class file under the package named as org.quartz.jobs.

solution

I hope this helps.

jose praveen
  • 1,298
  • 2
  • 10
  • 17