I am wondering if the following (which works) is the correct way to get
maxHeapSize and usedMemory from a remote Geronimo server.

import org.apache.geronimo.management.stats.BoundedRangeStatisticImpl;

        Map map = new HashMap();
        map.put("jmx.remote.credentials", new String[] {user, password});
        JMXServiceURL address = new JMXServiceURL(
                "service:jmx:rmi:///jndi/rmi://"+host+ ":" + port +
"/JMXConnector");
        JMXConnector jmxConnector = JMXConnectorFactory.connect(address,
map);
        mbServerConnection = jmxConnector.getMBeanServerConnection();
        objName = ObjectName.getInstance
("geronimo:J2EEServer=geronimo,name=JVM,j2eeType=JVM");
        Stats stats = (Stats) mbServerConnection.getAttribute(objName,
"stats");
         BoundedRangeStatisticImpl statistic = (BoundedRangeStatisticImpl)
stats.getStatistic("HeapSize");
        long maxMemory = statistic.getUpperBound();
        long usedMemory = statistic.getCurrent();

Is this ok?  Or, is there a better way?

++Vamsi

Reply via email to