[jboss-cvs] JBossAS SVN: r99456 - in trunk: component-matrix and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 15 06:26:51 EST 2010


Author: adrian at jboss.org
Date: 2010-01-15 06:26:51 -0500 (Fri, 15 Jan 2010)
New Revision: 99456

Modified:
   trunk/build/build.xml
   trunk/build/pom.xml
   trunk/component-matrix/pom.xml
   trunk/server/src/etc/conf/all/bootstrap/jmx.xml
   trunk/system-jmx/src/main/java/org/jboss/system/ServiceCreator.java
   trunk/testsuite/build.xml
Log:
[JBAS-7620] - Add support for using the JDK MBeanServer

Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2010-01-15 11:22:35 UTC (rev 99455)
+++ trunk/build/build.xml	2010-01-15 11:26:51 UTC (rev 99456)
@@ -2084,6 +2084,7 @@
       <fileset refid="org.jboss.mx:jboss-j2se:jar"/>
       <fileset refid="org.jboss.mx:jboss-jmx-annotations:jar"/>
       <fileset refid="org.jboss.mx:jboss-mbeans:jar"/>
+      <fileset refid="org.jboss.mx:jboss-mbeanserver:jar"/>
       <fileset refid="org.jboss.mx:jboss-jmx:jar"/>
       <fileset refid="org.jboss.cl:jboss-classloader:jar"/>
       <fileset refid="org.jboss.cl:jboss-classloading:jar"/>

Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml	2010-01-15 11:22:35 UTC (rev 99455)
+++ trunk/build/pom.xml	2010-01-15 11:26:51 UTC (rev 99456)
@@ -529,6 +529,11 @@
       <optional>true</optional>
     </dependency>
     <dependency>
+      <groupId>org.jboss.mx</groupId>
+      <artifactId>jboss-mbeanserver</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
       <groupId>org.jboss.netty</groupId>
       <artifactId>netty</artifactId>
       <optional>true</optional>

Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml	2010-01-15 11:22:35 UTC (rev 99455)
+++ trunk/component-matrix/pom.xml	2010-01-15 11:26:51 UTC (rev 99456)
@@ -115,7 +115,7 @@
     <version.org.jboss.metadata.rar>2.0.0.Alpha</version.org.jboss.metadata.rar>
     <version.org.jboss.metadata.war>2.0.0.Alpha13</version.org.jboss.metadata.war>
     <version.org.jboss.mod_cluster>1.1.0.Beta1</version.org.jboss.mod_cluster>
-    <version.org.jboss.mx>6.0.0.Beta3</version.org.jboss.mx>
+    <version.org.jboss.mx>6.0.0.Beta4</version.org.jboss.mx>
     <version.org.jboss.naming>5.0.4.GA</version.org.jboss.naming>
     <version.org.jboss.reflect>2.2.0.Alpha2</version.org.jboss.reflect>
     <version.org.jboss.reloaded.naming>0.1.0-alpha-2</version.org.jboss.reloaded.naming>
@@ -854,6 +854,12 @@
         <artifactId>jboss-mbeans</artifactId>
         <version>${version.org.jboss.mx}</version>
       </dependency>
+
+      <dependency>
+        <groupId>org.jboss.mx</groupId>
+        <artifactId>jboss-mbeanserver</artifactId>
+        <version>${version.org.jboss.mx}</version>
+      </dependency>
       
       <dependency>
         <groupId>org.jboss.mx</groupId>
@@ -1952,6 +1958,10 @@
             <groupId>org.jboss.microcontainer</groupId>
             <artifactId>jboss-kernel</artifactId>
           </exclusion>
+          <exclusion>
+            <groupId>org.jboss.microcontainer</groupId>
+            <artifactId>jboss-aop-mc-int</artifactId>
+          </exclusion>
         </exclusions>
       </dependency>
       
@@ -2789,8 +2799,13 @@
 			               <!-- JBAS-7531 org.jboss.ejb3:jboss-ejb3-as-int is retired. 
 			                    Use org.jboss.ejb3:jboss-ejb3_1 instead -->
 			                  <exclude>org.jboss.ejb3:jboss-ejb3-as-int</exclude>
+			                  <exclude>org.jboss.microcontainer:jboss-aop-mc-int</exclude>
 			                  <exclude>org.jboss.microcontainer:jboss-dependency</exclude>
+			                  <exclude>org.jboss.microcontainer:jboss-guice-int</exclude>
+                        <exclude>org.jboss.microcontainer:jboss-jmx-aop-mc-int</exclude>
+                        <exclude>org.jboss.microcontainer:jboss-jmx-mc-int</exclude>
                         <exclude>org.jboss.microcontainer:jboss-kernel</exclude>
+			                  <exclude>org.jboss.microcontainer:jboss-spring-int</exclude>
                       </excludes>
                     </bannedDependencies>
                   </rules>

Modified: trunk/server/src/etc/conf/all/bootstrap/jmx.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/jmx.xml	2010-01-15 11:22:35 UTC (rev 99455)
+++ trunk/server/src/etc/conf/all/bootstrap/jmx.xml	2010-01-15 11:26:51 UTC (rev 99456)
@@ -11,6 +11,7 @@
       <root>${jboss.lib.url}jboss-j2se.jar</root>
       <root>${jboss.lib.url}jboss-jmx-annotations.jar</root>
       <root>${jboss.lib.url}jboss-mbeans.jar</root>
+      <root>${jboss.lib.url}jboss-mbeanserver.jar</root>
       <root>${jboss.lib.url}jboss-jmx.jar</root>
       <root>${jboss.lib.url}jboss-system-jmx.jar</root>
       <root>${jboss.lib.url}dom4j.jar</root>

Modified: trunk/system-jmx/src/main/java/org/jboss/system/ServiceCreator.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/ServiceCreator.java	2010-01-15 11:22:35 UTC (rev 99455)
+++ trunk/system-jmx/src/main/java/org/jboss/system/ServiceCreator.java	2010-01-15 11:26:51 UTC (rev 99456)
@@ -22,16 +22,19 @@
 package org.jboss.system;
 
 import java.net.URL;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.management.MBeanServer;
+import javax.management.NotCompliantMBeanException;
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
+import javax.management.ReflectionException;
 import javax.management.StandardMBean;
 
 import org.jboss.logging.Logger;
 import org.jboss.mx.server.ServerConstants;
-import org.jboss.mx.server.registry.MBeanEntry;
 import org.jboss.mx.service.ServiceConstants;
 import org.jboss.mx.util.JMXExceptionDecoder;
 import org.jboss.mx.util.ObjectNameFactory;
@@ -208,14 +211,26 @@
       
       // This is a standard or dynamic mbean
       log.debug("About to create bean: " + objectName + " with code: " + code);
-      ObjectInstance instance = server.createMBean(code,
-                                                   objectName,
-                                                   loaderName,
-                                                   constructor.getParameters(loader),
-                                                   constructor.getSignature());
+      Object resource = null;
+      try
+      {
+         resource = server.instantiate(code,
+                                       loaderName,
+                                       constructor.getParameters(loader),
+                                       constructor.getSignature());
+      }
+      catch (ReflectionException e)
+      {
+         // This hack is for backwards compatibility on the error messages
+         Throwable t = e.getCause();
+         if (t instanceof ClassNotFoundException)
+            throw e;
+         throw new NotCompliantMBeanException("Error in constructor for " + code + " " + e.toString());
+      }
 
-      MBeanEntry entry = (MBeanEntry) server.invoke(MBEAN_REGISTRY, "get", new Object[] { objectName }, new String[] { ObjectName.class.getName() });
-      Object resource = entry.getResourceInstance();
+      Map<String, Object> values = new HashMap<String, Object>();
+      values.put(ServerConstants.CLASSLOADER, loader);
+      ObjectInstance instance = (ObjectInstance) server.invoke(MBEAN_REGISTRY, "registerMBean", new Object[] { resource, objectName, values }, new String[] { Object.class.getName(), ObjectName.class.getName(), Map.class.getName() });
       return new ServiceInstance(instance, resource);
    }
 

Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml	2010-01-15 11:22:35 UTC (rev 99455)
+++ trunk/testsuite/build.xml	2010-01-15 11:26:51 UTC (rev 99456)
@@ -397,6 +397,7 @@
       <fileset refid="org.jboss.mx:jboss-jmx:jar"/>
       <fileset refid="org.jboss.mx:jboss-jmx-annotations:jar"/>
       <fileset refid="org.jboss.mx:jboss-mbeans:jar"/>
+      <fileset refid="org.jboss.mx:jboss-mbeanserver:jar"/>
       <fileset refid="org.jboss.javaee:jboss-jaspi-api:jar"/>
       <fileset refid="org.jboss.javaee:jboss-javaee:jar"/>
       <fileset refid="org.jboss.javaee:jboss-ejb-api:jar"/>




More information about the jboss-cvs-commits mailing list