You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by vi...@apache.org on 2008/03/12 17:14:53 UTC
svn commit: r636392 -
/geronimo/server/trunk/plugins/monitoring/mconsole-war/src/main/java/org/apache/geronimo/monitoring/console/MRCConnector.java
Author: viet
Date: Wed Mar 12 09:14:45 2008
New Revision: 636392
URL: http://svn.apache.org/viewvc?rev=636392&view=rev
Log:
Fix for geronimo-3833. Dynamically fetching the mbean name instead of hardcoding it.
Modified:
geronimo/server/trunk/plugins/monitoring/mconsole-war/src/main/java/org/apache/geronimo/monitoring/console/MRCConnector.java
Modified: geronimo/server/trunk/plugins/monitoring/mconsole-war/src/main/java/org/apache/geronimo/monitoring/console/MRCConnector.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/monitoring/mconsole-war/src/main/java/org/apache/geronimo/monitoring/console/MRCConnector.java?rev=636392&r1=636391&r2=636392&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/monitoring/mconsole-war/src/main/java/org/apache/geronimo/monitoring/console/MRCConnector.java (original)
+++ geronimo/server/trunk/plugins/monitoring/mconsole-war/src/main/java/org/apache/geronimo/monitoring/console/MRCConnector.java Wed Mar 12 09:14:45 2008
@@ -46,7 +46,7 @@
public class MRCConnector {
- private static final String PATH = "geronimo:ServiceModule=org.apache.geronimo.plugins.monitoring/agent-car-jmx/2.2-SNAPSHOT/car,J2EEServer=geronimo,name=MasterRemoteControlJMX,j2eeType=GBean";
+ private static String PATH = null;
private static MBeanServerConnection mbServerConn;
private MasterRemoteControlRemote mrc = null;
private int Protocol = 0;
@@ -105,7 +105,27 @@
JMXConnector connector = JMXConnectorFactory.connect(
serviceURL, env);
mbServerConn = connector.getMBeanServerConnection();
+
+ // retrieve the mbean name to the agent-car-jmx plugin
+ if(PATH == null) {
+ Set<ObjectName> mbeanNames = mbServerConn.queryNames(null, null);
+ for(Iterator<ObjectName> it = mbeanNames.iterator(); it.hasNext(); ) {
+ String mbeanName = ((ObjectName)it.next()).getCanonicalName();
+ if(mbeanName.contains("agent-car-jmx") &&
+ mbeanName.contains("MasterRemoteControlJMX") &&
+ mbeanName.contains("GBean")) {
+ PATH = mbeanName;
+ break;
+ }
+ }
+
+ // there must be a PATH to agent-car-jmx plugin
+ if(PATH == null) {
+ throw new Exception("[ERROR] Required mbean not found: agent-car-jmx");
+ }
+ }
} catch (Exception e) {
+ e.printStackTrace();
throw e;
}