Catch the exception that the OperatingSystemMXBean does not exist
This commit is contained in:
@@ -218,6 +218,7 @@ public enum OperatingSystem {
|
|||||||
return UNKNOWN;
|
return UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public static Optional<PhysicalMemoryStatus> getPhysicalMemoryStatus() {
|
public static Optional<PhysicalMemoryStatus> getPhysicalMemoryStatus() {
|
||||||
if (CURRENT_OS == LINUX) {
|
if (CURRENT_OS == LINUX) {
|
||||||
try {
|
try {
|
||||||
@@ -246,6 +247,7 @@ public enum OperatingSystem {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
java.lang.management.OperatingSystemMXBean bean = java.lang.management.ManagementFactory.getOperatingSystemMXBean();
|
java.lang.management.OperatingSystemMXBean bean = java.lang.management.ManagementFactory.getOperatingSystemMXBean();
|
||||||
if (bean instanceof com.sun.management.OperatingSystemMXBean) {
|
if (bean instanceof com.sun.management.OperatingSystemMXBean) {
|
||||||
com.sun.management.OperatingSystemMXBean sunBean =
|
com.sun.management.OperatingSystemMXBean sunBean =
|
||||||
@@ -253,6 +255,8 @@ public enum OperatingSystem {
|
|||||||
java.lang.management.ManagementFactory.getOperatingSystemMXBean();
|
java.lang.management.ManagementFactory.getOperatingSystemMXBean();
|
||||||
return Optional.of(new PhysicalMemoryStatus(sunBean.getTotalPhysicalMemorySize(), sunBean.getFreePhysicalMemorySize()));
|
return Optional.of(new PhysicalMemoryStatus(sunBean.getTotalPhysicalMemorySize(), sunBean.getFreePhysicalMemorySize()));
|
||||||
}
|
}
|
||||||
|
} catch (NoClassDefFoundError ignored) {
|
||||||
|
}
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user