[jboss-user] [Installation, Configuration & DEPLOYMENT] - MBean configuration - ClassLoader issue

tprime do-not-reply at jboss.com
Mon Jan 14 09:43:40 EST 2008


I having problem using configuring Quartz MBean. Specifically having problem with JBoss Class Loading.

Enviorment:
OS: Linux (Ubuntu 7.10)
Jboss: 4.0.4 GA
Java: 1.5 

I have very simple ear with following content:

  | myapp.ear
  | |--------- META-INF
  | | |------------- application.xml (reference modules some.jar and other.jar)
  | | |------------- jboss-app.xml (reference to service archive myquartz.sar)
  | |
  | |--------- some.jar
  | | |------------- my.test.SomeJob1 (Does not use any external class)
  | | |------------- my.test.SomeJob2 (references/uses my.test.OtherBean)
  | |
  | |--------- other.jar
  | | |------------- my.test.OtherBean
  | |
  | |--------- myquartz.sar
  | |--------- META-INF
  | |------------- jboss-service.xml (initialize Quartz MBean)
  | 

If i use only my.test.SomeJob1 which does not reference any external class then everything works great.
(Quartz Scheduler is properly started and jobs get trigger properly too)

But if i use my.test.SomeJob2 which uses an external class in Other.jar(in the same ear)
It throws following ClassLoader complain it can not find my.test.OtherBean.

  | [main] - 01/14/2008 09:09:55 [QuartzService] ERROR: org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't recover jobs: No ClassLoaders found for: com.illuminatics.accounting.organization.Organization [See nested exception: java.lang.ClassNotFoundException: No ClassLoaders found for: my.test.OtherBean]]
  | at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.j ava:512)
  | at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:396)
  | at org.quartz.impl.StdScheduler.start(StdScheduler.java:147)
  | at org.quartz.ee.jmx.jboss.QuartzService.startService(QuartzService.java:239)
  | at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.jav a:289)
  | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport .java:245)
  | at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
  | at java.lang.reflect.Method.invoke(Method.java:585)
  | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:15 5)
  | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:9 78)
  | at $Proxy0.start(Unknown Source)
  | at org.jboss.system.ServiceController.start(ServiceController.java:417)
  | at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
  | .
  | .
  | .
  | * Nested Exception (Underlying Cause) ---------------
  | org.quartz.JobPersistenceException: Couldn't recover jobs: No ClassLoaders found for: com.illuminatics.accounting.organization.Organization [See nested exception: java.lang.ClassNotFoundException: No ClassLoaders found for: com.illuminatics.accounting.organization.Organization]
  | at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:7 17)
  | at org.quartz.impl.jdbcjobstore.JobStoreCMT.recoverJobs(JobStoreCMT.java:186)
  | at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.j ava:510)
  | at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:396)
  | at org.quartz.impl.StdScheduler.start(StdScheduler.java:147)
  | at org.quartz.ee.jmx.jboss.QuartzService.startService(QuartzService.java:239)
  | at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.jav a:289)
  | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport .java:245)
  | at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
  | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)
  | at java.lang.reflect.Method.invoke(Method.java:585)
  | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:15 5)
  | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  | at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:9 78)
  | at $Proxy0.start(Unknown Source)
  | at org.jboss.system.ServiceController.start(ServiceController.java:417)
  | 

Why can Jboss find the the my.test.OtherBean? Does any one have any suggestion to resolve this issue?

i have been searching for the solution for good time now.

pike


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4119659#4119659

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4119659



More information about the jboss-user mailing list