1 17 package org.apache.geronimo.console.jsr77; 18 19 import javax.servlet.http.HttpSession ; 20 import javax.management.j2ee.statistics.JVMStats ; 21 import javax.management.j2ee.statistics.BoundedRangeStatistic ; 22 import uk.ltd.getahead.dwr.WebContextFactory; 23 import org.apache.geronimo.console.util.PortletManager; 24 import org.apache.geronimo.console.util.ManagementHelper; 25 import org.apache.geronimo.management.geronimo.J2EEDomain; 26 import org.apache.geronimo.management.StatisticsProvider; 27 import org.apache.geronimo.management.geronimo.J2EEServer; 28 import org.apache.geronimo.management.geronimo.JVM; 29 30 35 public class Jsr77Lookup { 36 public DynamicServerInfo getJavaVMStatistics() { 37 HttpSession session = WebContextFactory.get().getSession(false); 38 ManagementHelper helper = PortletManager.getManagementHelper(session); 39 J2EEDomain[] domains = helper.getDomains(); 40 J2EEServer[] servers = domains[0].getServerInstances(); 41 JVM[] jvms = helper.getJavaVMs(servers[0]); 42 long elapsed = System.currentTimeMillis() - jvms[0].getKernelBootTime().getTime(); 43 if(jvms[0].isStatisticsProvider()) { 44 JVMStats stats = (JVMStats ) ((StatisticsProvider)jvms[0]).getStats(); 45 BoundedRangeStatistic heap = stats.getHeapSize(); 46 return new DynamicServerInfo(heap.getCurrent(), heap.getHighWaterMark(), heap.getUpperBound(), elapsed); 47 } else { 48 return new DynamicServerInfo(elapsed); 49 } 50 } 51 } 52 | Popular Tags |