0 Replies Latest reply on Aug 3, 2010 11:29 AM by kjh21

    JBoss custom service startup dependency

    kjh21

      I am using JBoss service techology to coordinate the deployment and management of a variety of components of my enterprise application including runtime configuration elements and scheduled activities.

       

      I also have a JBoss service whose responsibility it is, at startup, to create a subscription on behalf of the application by invoking a web service on a remote system.  The subscription results in a flow of information (from the remote system to my application) by way of callbacks from the remote system to a web service deployed in my application.


      For testing purposes, I am deploying a local version of the subscription service.  At startup, I want my JBoss service responsible for initiating the subscription to invoke the locally hosted subscription service but not until after my receiving web service has started successfully (i.e. don't subscribe until ready to receive.)

       

      I'm  trying to coordinate the sequencing of these events through the dependency mechanism provided by the JBoss service technology.

       

      The receiving web service is implemented as a javax.jws.WebService annotated class with the name attribute set to Receiver.

       

      The effect of this is reflected in the following entry in the JBoss jmx-console:

       


      jboss.j2ee

          ear=myappalication.ear,jar=mayapplication-ejb.jar,name=Receiver,service=EJB3

       


      This leads me to believe I can link the deployment of my subscription initiation service to the receiving service via the deployment of this MBean as follows:

       


      <server>
          <mbean code="my.package.naming.SubscriptionManager" name="MyApplication:service=SubscriptionManager">
              <depends>jboss.j2ee:service=EJB3,name=Receiver</depends>
          </mbean>
      </server>

       


      However, I get the following error at JBoss startup time:

       

      ======================================================================================

       

      14:47:15,625 INFO  [SubscriptionManager] Starting subscription manager service.
      14:47:15,625 ERROR [URLDeploymentScanner] Incomplete Deployment listing:

       

      --- MBeans waiting for other MBeans ---
      ObjectName: MyApplication:service=SubscriptionManager
        State: CONFIGURED
        I Depend On:
          jboss.j2ee:service=EJB3,name=Receiver

       

      --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
      ObjectName: jboss.j2ee:service=EJB3,name=Receiver
        State: NOTYETINSTALLED
        Depends On Me:
          MyApplication:service=SubscriptionManager

       

      ======================================================================================

       


      It seems a circular dependency has been introduced although I'm not certain why or how to resolve it.

       

      I'm using JBoss 4.0.5 with EJB 3.0 extensions.

       

      The application is packaged as myapplication.ear which, in turn, contains a file named myapplication-ejb.jar.  The jar files contains the class files for both the SubscriptionManager service and Receiver web service as well as the subscriptionmanager-service.xml resource file.

       


      Any advice/guidance would be appreciated.