diff --git a/eureka-client/src/main/java/com/netflix/discovery/DiscoveryManager.java b/eureka-client/src/main/java/com/netflix/discovery/DiscoveryManager.java index d72febfc95..45d0999146 100644 --- a/eureka-client/src/main/java/com/netflix/discovery/DiscoveryManager.java +++ b/eureka-client/src/main/java/com/netflix/discovery/DiscoveryManager.java @@ -42,6 +42,7 @@ public class DiscoveryManager { private static final Logger logger = LoggerFactory.getLogger(DiscoveryManager.class); private DiscoveryClient discoveryClient; + private EurekaClient clientOverride; private EurekaInstanceConfig eurekaInstanceConfig; private EurekaClientConfig eurekaClientConfig; @@ -58,6 +59,10 @@ public void setDiscoveryClient(DiscoveryClient discoveryClient) { this.discoveryClient = discoveryClient; } + public void setClientOverride(EurekaClient eurekaClient) { + this.clientOverride = eurekaClient; + } + public void setEurekaClientConfig(EurekaClientConfig eurekaClientConfig) { this.eurekaClientConfig = eurekaClientConfig; } @@ -107,7 +112,7 @@ public void shutdownComponent() { } public LookupService getLookupService() { - return discoveryClient; + return getEurekaClient(); } /** @@ -127,6 +132,9 @@ public DiscoveryClient getDiscoveryClient() { * @return the client that is used to talk to eureka. */ public EurekaClient getEurekaClient() { + if (clientOverride != null) { + return clientOverride; + } return discoveryClient; }