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