Quartz MBean cannot find Classloader
davidnor Mar 14, 2007 3:55 AMHi,
Loading a deploy/quartz-service.xml works quite nicely upon startup, but if there is a class in the Quartz Job table, the MBean-launched service can't find the classloader. I attempted to resolve it with a element, but after reading for hours, there are no clear answers. There are some posts that skirt the issue, but no best practice or practical replies.
Following is the descriptor, then the error:
<server> <classpath codebase="." archives="MyApp.ear" /> <mbean code="org.quartz.ee.jmx.jboss.QuartzService" name="user:service=QuartzService,name=QuartzService"> <depends>jboss.jca:service=DataSourceBinding,name=MyDS</depends> <attribute name="Properties"> # Default Properties file for use by StdSchedulerFactory # to create a Quartz Scheduler Instance, if a different # properties file is not explicitly specified. # # org.quartz.scheduler.classLoadHelper.class = org.quartz.scheduler.instanceName = MyScheduler org.quartz.scheduler.rmi.export = false org.quartz.scheduler.rmi.proxy = false org.quartz.scheduler.xaTransacted = false org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount = 5 org.quartz.threadPool.threadPriority = 4 org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate org.quartz.jobStore.useProperties=false org.quartz.jobStore.dataSource=MYDS org.quartz.jobStore.isClustered=false org.quartz.dataSource.MYDS.jndiURL = java:/MyDS org.quartz.jobStore.tablePrefix = QRTZ_ #org.quartz.jobStore.nonManagedTXDataSource = QUARTZ_NO_TX #org.quartz.dataSource.QUARTZ_NO_TX.jndiURL = java:/jdbc/QuartzNoTxDS org.quartz.jobStore.misfireThreshold = 60000 </attribute> </mbean>
ERROR:
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: user:service=QuartzService,name=QuartzService
State: FAILED
Reason: org.quartz.SchedulerConfigException: Failed to start Scheduler - [See nested exception: org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve trigger: No ClassLoaders found for: com.mycom.dto.TimerInfo [See nested exception: java.lang.ClassNotFoundException: No ClassLoaders found for: com.mycom.dto.TimerInfo]]]
I Depend On: