public DynamicServerInfo getJavaVMStatistics() { HttpSession session = WebContextFactory.get().getSession(true); ManagementHelper helper = PortletManager.getManagementHelper(session); J2EEDomain[] domains = helper.getDomains(); J2EEServer[] servers = domains[0].getServerInstances(); JVM[] jvms = helper.getJavaVMs(servers[0]); long elapsed = System.currentTimeMillis() - jvms[0].getKernelBootTime().getTime(); if(jvms[0].isStatisticsProvider()) { JVMStats stats = (JVMStats) ((StatisticsProvider)jvms[0]).getStats(); BoundedRangeStatistic heap = stats.getHeapSize(); return new DynamicServerInfo(heap.getCurrent(), heap.getHighWaterMark(), heap.getUpperBound(), elapsed); } else { return new DynamicServerInfo(elapsed); } } }
} else if (statistic instanceof BoundedRangeStatistic) { BoundedRangeStatistic brStat = (BoundedRangeStatistic) statistic; long upperBound = brStat.getUpperBound(); mbeanStat.add(new String[] { "Upper Bound", Long.toString(upperBound) }); long lowerBound = brStat.getLowerBound(); mbeanStat.add(new String[] { "Lower Bound", Long.toString(lowerBound) }); long highWaterMark = brStat.getHighWaterMark(); mbeanStat.add(new String[] { "High Water Mark", Long.toString(highWaterMark) }); long lowWaterMark = brStat.getLowWaterMark(); mbeanStat.add(new String[] { "Low Water Mark", Long.toString(lowWaterMark) }); long current = brStat.getCurrent(); mbeanStat.add(new String[] { "Current", Long.toString(current) }); } else if (statistic instanceof BoundaryStatistic) {