15:43:17,175 ERROR [JobStoreCMT] Error retrieving job, setting trigger state to ERROR.
org.quartz.JobPersistenceException: Couldn't retrieve job because a required class was not found: No ClassLoaders found for: org.jboss.seam.async.AsynchronousInvocation [See nested exception: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.seam.async.AsynchronousInvocation]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1392)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggerFired(JobStoreSupport.java:2879)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$38.execute(JobStoreSupport.java:2847)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3760)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggerFired(JobStoreSupport.java:2841)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:342)
Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jboss.seam.async.AsynchronousInvocation
Needless to say this was a bit suprising. The scheduler started ok (setup to start at application startup), and the application could submit a job correctly. It just wouldn't run through the scheduler.
After much hunting through the forums (again), it became clear the problem was that the Quartz library being used was the one included in JBoss (which I had previously upgraded to 1.6.5). The solution turned out to be manually adding a copy of the library (quartz.jar) into the WebContent/WEB-INF/lib directory in the Eclipse project. Then a clean rebuild and restart of the server, and hey presto, it works.
No comments:
Post a Comment