[jboss-user] [Installation, Configuration & DEPLOYMENT] - Dependency problem with Scheduler

amedina do-not-reply at jboss.com
Fri Aug 29 09:56:09 EDT 2008


i was trying to implement a Scheduler on jboss 4.0.5, but have some problems with the dependency.

i have added the following code to the scheduler-service.xml:

  | <mbean code="org.jboss.varia.scheduler.Scheduler"
  |            name=":service=Scheduler">
  |         <attribute name="StartAtStartup">true</attribute>
  |         <attribute name="SchedulableClass">com.middleware.scheduler.CacheCleaner</attribute>
  |         <attribute name="InitialStartDate">NOW</attribute>
  |         <attribute name="SchedulePeriod">30000</attribute>
  |         <attribute name="InitialRepetitions">-1</attribute>
  |         <depends>jboss.j2ee:module=myapp-ejb.jar,service=EjbModule</depends>
  | </mbean>   

The CacheCleaner class is located inside the myapp-ejb.jar, which is deployed within an ear-file.

the ear-file, as well as the scheduler-service.xml are located in the jboss-deploy-directory, when i start jboss i get the following error message:

  | ObjectName: jboss:service=Scheduler
  |   State: FAILED
  |   Reason: org.jboss.deployment.DeploymentException: Exception setting attribute javax.management.Attribute: name=SchedulableClass value=com.middleware.scheduler.CacheCleaner on mbean jboss:service=Scheduler; - nested throwable: (java.security.InvalidParameterException: Given class com.middleware.scheduler.CacheCleaner is not  not found)

now, if i do some trivial changes to the scheduler-service.xml(add a whitespace), the code of CacheCleaners perform()-Method gets executed immediately.

So i guess there is something wrong with the depends attribute, but i don't know what. 

here is the snapshot of the jmx-console:

  | jboss.j2ee
  |     * jndiName=ejb/ProgressManager,plugin=pool,service=EJB
  |     * jndiName=ejb/ProgressManager,service=EJB
  |     * jndiName=ejb/SessionManager,plugin=cache,service=EJB
  |     * jndiName=ejb/SessionManager,plugin=pool,service=EJB
  |     * jndiName=ejb/SessionManager,service=EJB
  |     * jndiName=ejb/SystemSessionManager,plugin=cache,service=EJB
  |     * jndiName=ejb/SystemSessionManager,plugin=pool,service=EJB
  |     * jndiName=ejb/SystemSessionManager,service=EJB
  |     * module=myapp-ejb.jar,service=EjbModule
  |     * service=ClientDeployer
  |     * service=EARDeployer
  |     * service=EARDeployment,url='myapp.ear'

i've found in the wiki 
that it is also possible to set the depends attribute directly to the ejb:

  | <depends>jboss.j2ee:jndiName=ejb/SessionManager,service=EJB</depends>

unfortunately the result is the same. so what am i doing wrong here?

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

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

More information about the jboss-user mailing list