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();
}