You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/03/01 22:20:09 UTC
svn commit: r749115 - in /geronimo/sandbox/djencks/framework:
configs/rmi-naming/src/main/plan/plan.xml
modules/geronimo-system/src/main/java/org/apache/geronimo/system/jmx/RealMBeanServerReference.java
Author: djencks
Date: Sun Mar 1 21:20:06 2009
New Revision: 749115
URL: http://svn.apache.org/viewvc?rev=749115&view=rev
Log:
GERONIMO-4559 merge from trunk
Modified:
geronimo/sandbox/djencks/framework/configs/rmi-naming/src/main/plan/plan.xml
geronimo/sandbox/djencks/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/jmx/RealMBeanServerReference.java
Modified: geronimo/sandbox/djencks/framework/configs/rmi-naming/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/framework/configs/rmi-naming/src/main/plan/plan.xml?rev=749115&r1=749114&r2=749115&view=diff
==============================================================================
--- geronimo/sandbox/djencks/framework/configs/rmi-naming/src/main/plan/plan.xml (original)
+++ geronimo/sandbox/djencks/framework/configs/rmi-naming/src/main/plan/plan.xml Sun Mar 1 21:20:06 2009
@@ -43,7 +43,10 @@
<attribute name="nameInNamespace">ger:</attribute>
</gbean>
- <gbean name="MBeanServerReference" class="org.apache.geronimo.system.jmx.RealMBeanServerReference"/>
+ <gbean name="MBeanServerReference" class="org.apache.geronimo.system.jmx.RealMBeanServerReference">
+ <attribute name="usePlatformMBeanServer">true</attribute>
+ </gbean>
+
<!-- MBean server service -->
<gbean name="MBeanServerKernelBridge" class="org.apache.geronimo.system.jmx.MBeanServerKernelBridge">
Modified: geronimo/sandbox/djencks/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/jmx/RealMBeanServerReference.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/jmx/RealMBeanServerReference.java?rev=749115&r1=749114&r2=749115&view=diff
==============================================================================
--- geronimo/sandbox/djencks/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/jmx/RealMBeanServerReference.java (original)
+++ geronimo/sandbox/djencks/framework/modules/geronimo-system/src/main/java/org/apache/geronimo/system/jmx/RealMBeanServerReference.java Sun Mar 1 21:20:06 2009
@@ -16,33 +16,42 @@
*/
package org.apache.geronimo.system.jmx;
+import java.lang.management.ManagementFactory;
import java.util.ArrayList;
+
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
/**
* Creates a real mbean server of finds an existing one with the specified mbeanServerId
+ *
* @version $Rev$ $Date$
*/
+@GBean
public class RealMBeanServerReference implements MBeanServerReference {
private static final String GERONIMO_DEFAULT_DOMAIN = "geronimo";
-
+
private MBeanServer mbeanServer;
- public RealMBeanServerReference(String mbeanServerId) throws MBeanServerNotFound {
- ArrayList servers = MBeanServerFactory.findMBeanServer(mbeanServerId);
- if (servers.size() == 0) {
- mbeanServer = MBeanServerFactory.createMBeanServer(GERONIMO_DEFAULT_DOMAIN);
- } else if (servers.size() > 1) {
- throw new MBeanServerNotFound(servers.size() + " MBeanServers were found with the agent id " + mbeanServerId);
+ public RealMBeanServerReference(@ParamAttribute(name="usePlatformMBeanServer") boolean usePlatformMBeanServer,
+ @ParamAttribute(name="mbeanServerId")String mbeanServerId) throws MBeanServerNotFound {
+ if (usePlatformMBeanServer) {
+ mbeanServer = ManagementFactory.getPlatformMBeanServer();
} else {
- mbeanServer = (MBeanServer) servers.get(0);
+ ArrayList servers = MBeanServerFactory.findMBeanServer(mbeanServerId);
+ if (servers.size() == 0) {
+ mbeanServer = MBeanServerFactory.createMBeanServer(GERONIMO_DEFAULT_DOMAIN);
+ } else if (servers.size() > 1) {
+ throw new MBeanServerNotFound(servers.size() + " MBeanServers were found with the agent id " + mbeanServerId);
+ } else {
+ mbeanServer = (MBeanServer) servers.get(0);
+ }
}
}
-
+
/**
* Finds an existing MBeanServer with default domain GERONIMO_DEFAULT_DOMAIN
* or creates a new one if there isn't any.
@@ -50,14 +59,14 @@
public RealMBeanServerReference() {
// Find all MBeanServers
ArrayList<MBeanServer> servers = MBeanServerFactory.findMBeanServer(null);
- for(MBeanServer server: servers) {
+ for (MBeanServer server : servers) {
// Look for one with default domain GERONIMO_DEFAULT_DOMAIN
if (GERONIMO_DEFAULT_DOMAIN.equals(server.getDefaultDomain())) {
mbeanServer = server;
break;
}
}
- if(mbeanServer == null) {
+ if (mbeanServer == null) {
// No MBeanServer with default domain GERONIMO_DEFAULT_DOMAIN exists. Create one.
mbeanServer = MBeanServerFactory.createMBeanServer(GERONIMO_DEFAULT_DOMAIN);
}
@@ -67,16 +76,4 @@
return mbeanServer;
}
- public static final GBeanInfo GBEAN_INFO;
-
- static {
- GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(RealMBeanServerReference.class);
- infoFactory.addAttribute("mbeanServerId", String.class, true);
- //infoFactory.setConstructor(new String[]{"mbeanServerId"});
- GBEAN_INFO = infoFactory.getBeanInfo();
- }
-
- public static GBeanInfo getGBeanInfo() {
- return GBEAN_INFO;
- }
}