Früher war die einzige Möglichkeit um Systeminformationen zu erhalten, die Klasse Runtime. In JEE Versionen ab Version 6 kann über die JMX (Java Managment Extension) auf diese Informationen zugegriffen werden. Mit den folgenden Beans kann die verwendete Java-Version, die Startzeit, die Up-Zeit und die Betriebssystemversion ausgegeben werden.
/** Bean für den Zugriff auf OS Werte */ private final OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean(); /** Bean für den Zugriff auf Java Runtime Werte Java Version, Update, ... */ private final RuntimeMXBean runtimeBean = ManagementFactory.getRuntimeMXBean();
Eine Ausgabe der Daten kann über folgende Methoden umgesetzt werden (die Methoden zur Formatierung der Werte sind hier nicht dargestellt).
/** @return Betriebssysteminformationen */ public String getOperatingSystemInfoText() { StringBuilder buffer = new StringBuilder(); buffer.append(this.osBean.getName() + " " + this.osBean.getVersion() + " " + this.osBean.getArch() + "\n"); buffer.append("Processoren: " + this.osBean.getAvailableProcessors() + " Load Avarage" + this.osBean.getSystemLoadAverage()); return buffer.toString(); } /** @return Runtimeinformationen - Java Version, Uptime */ public String getRuntimeInfoText() { StringBuilder buffer = new StringBuilder(); buffer.append(this.runtimeBean.getVmName() + " " + this.runtimeBean.getVmVendor() + " " + this.runtimeBean.getSpecVersion() + " - " + this.runtimeBean.getVmVersion() + "\n"); buffer.append("Starttime: " + AbstractDateConverter.getDateTimeAsString(new Date(this.runtimeBean.getStartTime())) + " Uptime: " + AbstractDateConverter.getTimeSecondsAsString(new Date(this.runtimeBean.getUptime()))); return buffer.toString(); }