dev@glassfish.java.net

Re: How to get status of cluster instances over AMX or JMX

From: Anissa Lam <Anissa.Lam_at_Sun.COM>
Date: Sat, 08 Nov 2008 08:13:20 -0800

Hi Peter,

Here is some sample code on how to use AMX API to get the server instance inside a cluster,  test if the server instance is running and whether restart is required.   Assuming you already has domainRoot, and the clusterName.

        Map<String, ClusteredServerConfig> serverMap =  domainRoot.getDomainConfig().getClusterConfigMap().get(clusterName).getClusteredServerConfigMap();
        //serverMap contains the config of the  server instance of this cluster, keyed by the instance name.
        if (serverMap != null) {
            for (String serverName : serverMap.keySet()) {
                J2EEServer j2eeServer = domainRoot.getJ2EEServerMap().get(serverName);
                int serverState = j2eeServer.getstate();
                if (serverState == StateManageable.STATE_STOPPING || serverState == StateManageable.STATE_STOPPED ||
                        serverState == StateManageable.STATE_FAILED) {
                    System.out.println(serverName + " is NOT running");
                }
                if (j2eeServer.getRestartRequired() == true) {
                    System.out.println(serverName + " Needs restart");
                }
            }
        }


Hope this help.

Anissa


Sreenivas Munnangi wrote:
Peter Williams wrote:
I need to know how to get the status (stopped, running, etc.) of a server instance inside a cluster using either the AMX api (preferable) or JMX calls.  I wasn't able to find a JMX field that contains this information though.  Does anyone know where I should be looking?

-Peter

I guess, you are referring to v2.

JSR77 mBeans report the runtime state, for ex.

If the 'stateManageable' is true then you can invoke the operation 'getRuntimeStatus
com.sun.enterprise.admin.servermgmt.RuntimeStatus



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: dev-help@glassfish.dev.java.net