import java.util.Date;

import javax.management.MBeanServerConnection;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

import org.apache.geronimo.console.util.KernelManagementHelper;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.jmx.KernelDelegate;
import org.apache.geronimo.management.J2EEDomain;
import org.apache.geronimo.management.geronimo.J2EEServer;
import org.apache.geronimo.management.geronimo.JVM;

public class ServerWhenStart {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception{
        // TODO Auto-generated method stub
        
        java.util.Map environment = new java.util.HashMap();
        String[] credentials = new String[]{"system", "manager"};
        environment.put(JMXConnector.CREDENTIALS, credentials);
        JMXServiceURL address = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/JMXConnector");
        JMXConnector jmxConnector = JMXConnectorFactory.connect(address, environment);
        MBeanServerConnection mbServerConnection = jmxConnector.getMBeanServerConnection();
        Kernel kernel = new KernelDelegate(mbServerConnection);
        
        KernelManagementHelper mgr = new KernelManagementHelper(kernel);
        J2EEDomain domain = mgr.getDomains()[0];
        J2EEServer server = mgr.getServers(domain)[0];
        JVM[] jvms = mgr.getJavaVMs(server);
        
        //I am thinking there is only one JVM for this server... (is that right??)
        JVM jvm = jvms[0];
        Date bootTime = jvm.getKernelBootTime();
        System.out.println(bootTime);

    }

}