diff --git a/genie-web/src/main/java/com/netflix/genie/web/configs/ServicesConfig.java b/genie-web/src/main/java/com/netflix/genie/web/configs/ServicesConfig.java index 87e9c247d9d..9d9574b31ba 100644 --- a/genie-web/src/main/java/com/netflix/genie/web/configs/ServicesConfig.java +++ b/genie-web/src/main/java/com/netflix/genie/web/configs/ServicesConfig.java @@ -51,7 +51,6 @@ import com.netflix.genie.core.services.impl.MailServiceImpl; import com.netflix.genie.core.services.impl.RandomizedClusterLoadBalancerImpl; import com.netflix.spectator.api.Registry; -import com.sun.management.OperatingSystemMXBean; import org.apache.commons.exec.Executor; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; @@ -64,7 +63,6 @@ import org.springframework.core.task.AsyncTaskExecutor; import org.springframework.mail.javamail.JavaMailSender; -import java.lang.management.ManagementFactory; import java.util.List; /** @@ -343,14 +341,4 @@ public JobCoordinatorService jobCoordinatorService( eventPublisher ); } - - /** - * Returns the operating system MX bean. - * - * @return The operating system MX bean. - */ - @Bean - public OperatingSystemMXBean operatingSystemMXBean() { - return (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); - } } diff --git a/genie-web/src/main/java/com/netflix/genie/web/health/MemoryHealthIndicator.java b/genie-web/src/main/java/com/netflix/genie/web/health/MemoryHealthIndicator.java index c587e1c0a29..4e702e96c50 100644 --- a/genie-web/src/main/java/com/netflix/genie/web/health/MemoryHealthIndicator.java +++ b/genie-web/src/main/java/com/netflix/genie/web/health/MemoryHealthIndicator.java @@ -21,6 +21,8 @@ import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.stereotype.Component; +import java.lang.management.ManagementFactory; + /** * Health indicator for system memory usage. Also mark the service out-of-service if it crosses the threshold. * @author amajumdar @@ -39,14 +41,17 @@ public class MemoryHealthIndicator implements HealthIndicator { * Constructor. * * @param maxUsedPhysicalMemoryPercentage The maximum physical memory threshold - * @param operatingSystemMXBean MX bean for operating system */ @Autowired public MemoryHealthIndicator( @Value("${genie.health.memory.usedPhysicalMemoryPercent:90}") - final double maxUsedPhysicalMemoryPercentage, - final OperatingSystemMXBean operatingSystemMXBean + final double maxUsedPhysicalMemoryPercentage ) { + this(maxUsedPhysicalMemoryPercentage, (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()); + } + + MemoryHealthIndicator(final double maxUsedPhysicalMemoryPercentage, + final OperatingSystemMXBean operatingSystemMXBean) { this.maxUsedPhysicalMemoryPercentage = maxUsedPhysicalMemoryPercentage; this.operatingSystemMXBean = operatingSystemMXBean; }