[jboss-cvs] JBossAS SVN: r59642 - trunk/system-jmx/src/main/org/jboss/system/microcontainer.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 15 07:59:03 EST 2007
Author: alesj
Date: 2007-01-15 07:59:00 -0500 (Mon, 15 Jan 2007)
New Revision: 59642
Modified:
trunk/system-jmx/src/main/org/jboss/system/microcontainer/ServiceControllerContext.java
Log:
adding DispatchContext to ServiceControllerContext
Modified: trunk/system-jmx/src/main/org/jboss/system/microcontainer/ServiceControllerContext.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/microcontainer/ServiceControllerContext.java 2007-01-15 10:30:56 UTC (rev 59641)
+++ trunk/system-jmx/src/main/org/jboss/system/microcontainer/ServiceControllerContext.java 2007-01-15 12:59:00 UTC (rev 59642)
@@ -21,18 +21,8 @@
*/
package org.jboss.system.microcontainer;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.Iterator;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
import org.jboss.dependency.plugins.AbstractControllerContext;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.dependency.spi.ControllerMode;
-import org.jboss.dependency.spi.ControllerState;
-import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.dependency.spi.*;
import org.jboss.system.Service;
import org.jboss.system.ServiceContext;
import org.jboss.system.ServiceController;
@@ -40,13 +30,20 @@
import org.jboss.system.metadata.ServiceMetaDataVisitor;
import org.jboss.system.metadata.ServiceMetaDataVisitorNode;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.Attribute;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Iterator;
+
/**
* ServiceControllerContext.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
*/
-public class ServiceControllerContext extends AbstractControllerContext
+public class ServiceControllerContext extends AbstractControllerContext implements DispatchContext
{
/** The ObjectName */
private ObjectName objectName;
@@ -112,6 +109,44 @@
setMode(ControllerMode.MANUAL);
}
+ private MBeanServer getMBeanServer()
+ {
+ MBeanServer server = serviceController.getMBeanServer();
+ if (server == null)
+ {
+ throw new IllegalStateException("MBeanServer not available.");
+ }
+ return server;
+ }
+
+ public Object get(String name) throws Throwable
+ {
+ return getMBeanServer().getAttribute(objectName, name);
+ }
+
+ public void set(String name, Object value) throws Throwable
+ {
+ Attribute attribute = new Attribute(name, value);
+ getMBeanServer().setAttribute(objectName, attribute);
+ }
+
+ public Object invoke(String name, Object parameters[], String[] signature) throws Throwable
+ {
+ return getMBeanServer().invoke(objectName, name, parameters, signature);
+ }
+
+ public ClassLoader getClassLoader() throws Throwable
+ {
+ if (serviceMetaData != null)
+ {
+ return getMBeanServer().getClassLoader(serviceMetaData.getClassLoaderName());
+ }
+ else
+ {
+ return getMBeanServer().getClassLoaderFor(objectName);
+ }
+ }
+
/**
* Get the ObjectName.
*
More information about the jboss-cvs-commits
mailing list