User: d_jencks
  Date: 02/04/13 09:10:11

  Modified:    src/main/org/jboss/system ServiceConfigurator.java
                        ServiceController.java
  Log:
  Added ability to declare mbean dependencies from ejbs and container configurations
  
  Revision  Changes    Path
  1.8       +2 -19     jboss-system/src/main/org/jboss/system/ServiceConfigurator.java
  
  Index: ServiceConfigurator.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss-system/src/main/org/jboss/system/ServiceConfigurator.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ServiceConfigurator.java  4 Apr 2002 17:49:18 -0000       1.7
  +++ ServiceConfigurator.java  13 Apr 2002 16:10:11 -0000      1.8
  @@ -62,7 +62,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Hiram Chirino</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    *
    * <p><b>20010830 marc fleury:</b>
    * <ul>
  @@ -475,7 +475,7 @@
               throw new DeploymentException("Nothing supplied for an object name! " + 
element);
            } // end of else
         }
  -      registerDependency(container, dependsObjectName);
  +      serviceController.registerDependency(container, dependsObjectName);
         return dependsObjectName;
         
      }
  @@ -493,23 +493,6 @@
         }
      }
   
  -
  -   private void registerDependency(ObjectName needs, ObjectName used)
  -   {
  -      log.debug("recording that " + needs + " depends on " + used);
  -      ServiceContext needsCtx = serviceController.getServiceContext(needs);
  -      ServiceContext usedCtx = serviceController.getServiceContext(used);
  -               
  -
  -      if (!needsCtx.iDependOn.contains(usedCtx)) 
  -      {
  -         // needsCtx depends on usedCtx
  -         needsCtx.iDependOn.add(usedCtx);
  -         // UsedCtx needs to know I depend on him
  -         usedCtx.dependsOnMe.add(needsCtx);
  -      } // end of if ()
  -   }
  -   
   
      /**
      * Builds a string that consists of the configuration elements of
  
  
  
  1.10      +40 -1     jboss-system/src/main/org/jboss/system/ServiceController.java
  
  Index: ServiceController.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss-system/src/main/org/jboss/system/ServiceController.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ServiceController.java    4 Apr 2002 17:49:18 -0000       1.9
  +++ ServiceController.java    13 Apr 2002 16:10:11 -0000      1.10
  @@ -13,6 +13,7 @@
   import java.lang.reflect.Method;
   import java.lang.reflect.Proxy;
   import java.util.ArrayList;
  +import java.util.Collection;
   import java.util.HashMap;
   import java.util.HashSet;
   import java.util.Iterator;
  @@ -48,7 +49,7 @@
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version $Revision: 1.9 $ <p>
  + * @version $Revision: 1.10 $ <p>
    *
    * <b>Revisions:</b> <p>
    *
  @@ -198,10 +199,32 @@
      */
      public synchronized void create(ObjectName serviceName) throws Exception
      {  
  +      create(serviceName, null);
  +   }
  +
  +   /**
  +   * #Description of the Method
  +   *
  +   * @param serviceName Description of Parameter
  +   * @exception Exception Description of Exception
  +   * @jmx:managed-operation
  +   */
  +   public synchronized void create(ObjectName serviceName, Collection depends) 
throws Exception
  +   {  
         boolean debug = log.isDebugEnabled();
   
         ServiceContext ctx = (ServiceContext) getServiceContext(serviceName);
         
  +      if (depends != null) 
  +      {
  +         log.debug("adding depends in ServiceController.create: " + depends);
  +         for (Iterator i = depends.iterator(); i.hasNext();)
  +         {
  +            registerDependency(serviceName, (ObjectName)i.next());
  +         } // end of for ()
  +         
  +      } // end of if ()
  +      
         // Get the fancy service proxy (for the lifecycle API)
         ctx.proxy = getServiceProxy(ctx.objectName, null);
         
  @@ -713,6 +736,22 @@
      }
   
   
  +   void registerDependency(ObjectName needs, ObjectName used)
  +   {
  +      log.debug("recording that " + needs + " depends on " + used);
  +      ServiceContext needsCtx = getServiceContext(needs);
  +      ServiceContext usedCtx = getServiceContext(used);
  +               
  +
  +      if (!needsCtx.iDependOn.contains(usedCtx)) 
  +      {
  +         // needsCtx depends on usedCtx
  +         needsCtx.iDependOn.add(usedCtx);
  +         // UsedCtx needs to know I depend on him
  +         usedCtx.dependsOnMe.add(needsCtx);
  +      } // end of if ()
  +   }
  +   
      // Inner classes -------------------------------------------------
      
      /**
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to