4 Replies Latest reply on Dec 26, 2007 11:30 AM by levmatta

    MDB fails to deploy InstanceNotFoundException

    mrforms

      When starting JBoss all container, I get an error when it tries to deploy one of my MDB:

      ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=jboss.j2ee:ear=obp-stats.ear,jar=obp-stats-ejb.jar,name=StatisticListener,service=EJB3 state=Create
      org.jboss.deployment.DeploymentException: Unable to create activation spec ra=jboss.jca:service=RARDeployment,name='jms-ra.rar' messaging-type=javax.jms.MessageListener properties={destination=ActivationConfigProperty(destination=queue/StatisticQueue), acknowledgeMode=ActivationConfigProperty(acknowledgeMode=Auto-acknowledge), destinationType=ActivationConfigProperty(destinationType=javax.jms.Queue)}

      Caused by: javax.management.InstanceNotFoundException: jboss.jca:service=RARDeployment,name='jms-ra.rar' is not registered.

      It seems JBoss wants to deploy the MDB before the proper JMS service is properly registered. If I hot deploy the EAR, it works of course cause by then the service is loaded in the proper order.

      I tried adding a @Depends({"jboss.jca:service=RARDeployment,name=jms-ra.rar"}), but I get another error:

      -> {Described:** UNRESOLVED AbstractDemandMetaData$DemandDependencyItem@9403b0{name=jboss.j2ee:ear=obp-stats.ear,jar=obp-stats-ejb.jar,name=StatisticListener,service=EJB3 dependsOn=null whenRequired=Described resolved=false demand=jboss.jca:service=RARDeployment,name=jms-ra.rar} **}

      So, my question is, how do I make sure the MDBs are loaded after the JMS service is activated ? How can I make the @Depends annotation work?

      Thanks