diff --git a/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkeyContext.java b/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkeyContext.java index 13bca3f3..a266fd75 100644 --- a/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkeyContext.java +++ b/src/main/java/com/netflix/simianarmy/basic/conformity/BasicConformityMonkeyContext.java @@ -22,8 +22,10 @@ import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import com.google.inject.Guice; +import com.google.inject.Injector; import com.netflix.discovery.DiscoveryClient; -import com.netflix.discovery.DiscoveryManager; +import com.netflix.discovery.guice.EurekaModule; import com.netflix.simianarmy.aws.conformity.SimpleDBConformityClusterTracker; import com.netflix.simianarmy.aws.conformity.crawler.AWSClusterCrawler; import com.netflix.simianarmy.aws.conformity.rule.BasicConformityEurekaClient; @@ -45,7 +47,6 @@ import com.netflix.simianarmy.conformity.ConformityMonkey; import com.netflix.simianarmy.conformity.ConformityRule; import com.netflix.simianarmy.conformity.ConformityRuleEngine; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -107,7 +108,8 @@ public BasicConformityMonkeyContext() { if (eurekaEnabled) { LOGGER.info("Initializing Discovery client."); - DiscoveryClient discoveryClient = DiscoveryManager.getInstance().getDiscoveryClient(); + Injector injector = Guice.createInjector(new EurekaModule()); + DiscoveryClient discoveryClient = injector.getInstance(DiscoveryClient.class); ConformityEurekaClient conformityEurekaClient = new BasicConformityEurekaClient(discoveryClient); if (configuration().getBoolOrElse( "simianarmy.conformity.rule.InstanceIsHealthyInEureka.enabled", false)) { diff --git a/src/main/java/com/netflix/simianarmy/basic/janitor/BasicJanitorMonkeyContext.java b/src/main/java/com/netflix/simianarmy/basic/janitor/BasicJanitorMonkeyContext.java index 540ee517..895a8097 100644 --- a/src/main/java/com/netflix/simianarmy/basic/janitor/BasicJanitorMonkeyContext.java +++ b/src/main/java/com/netflix/simianarmy/basic/janitor/BasicJanitorMonkeyContext.java @@ -20,7 +20,10 @@ import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient; -import com.netflix.discovery.DiscoveryManager; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.netflix.discovery.DiscoveryClient; +import com.netflix.discovery.guice.EurekaModule; import com.netflix.simianarmy.MonkeyCalendar; import com.netflix.simianarmy.MonkeyConfiguration; import com.netflix.simianarmy.MonkeyRecorder; @@ -63,7 +66,6 @@ import com.netflix.simianarmy.janitor.JanitorMonkey; import com.netflix.simianarmy.janitor.JanitorResourceTracker; import com.netflix.simianarmy.janitor.JanitorRuleEngine; - import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -169,7 +171,9 @@ private ASGJanitor getASGJanitor() { ASGInstanceValidator instanceValidator; if (discoveryEnabled) { LOGGER.info("Initializing Discovery client."); - instanceValidator = new DiscoveryASGInstanceValidator(DiscoveryManager.getInstance().getDiscoveryClient()); + Injector injector = Guice.createInjector(new EurekaModule()); + DiscoveryClient discoveryClient = injector.getInstance(DiscoveryClient.class); + instanceValidator = new DiscoveryASGInstanceValidator(discoveryClient); } else { LOGGER.info("Discovery/Eureka is not enabled, use the dummy instance validator."); instanceValidator = new DummyASGInstanceValidator();