Skip to content

Commit

Permalink
Merge pull request #667 from Netflix/feature/di-friendly-server
Browse files Browse the repository at this point in the history
Feature/di friendly server
  • Loading branch information
qiangdavidliu committed Oct 2, 2015
2 parents 7fadaa1 + 6b18edc commit caf7661
Show file tree
Hide file tree
Showing 108 changed files with 3,661 additions and 1,823 deletions.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ buildscript {
}

plugins {
id 'nebula.netflixoss' version '2.2.7'
id 'nebula.netflixoss' version '2.2.10'
}

ext {
Expand All @@ -19,16 +19,17 @@ ext {
apacheHttpClientVersion='4.3.4'
guiceVersion='4.0'
servoVersion='0.9.4'
governatorVersion='1.7.5'
governatorVersion='1.10.4'
archaiusVersion='0.7.1'
archaius2Version='2.0.0-rc.28'
archaius2Version='2.0.0-rc.32'
blitzVersion='1.34'
mockitoVersion='1.10.19'
junit_version='4.10'
mockserverVersion='3.9.2'
jetty_version='7.2.0.v20101020'
jacksonVersion='2.5.4'
woodstoxVersion='4.4.1'
karyon3Version='3.0.1-rc.13'
}

idea {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ public enum MetaDataKey {
instanceId("instance-id"),
instanceType("instance-type"),
localIpv4("local-ipv4"),
localHostname("local-hostname"),
availabilityZone("availability-zone", "placement/"),
publicHostname("public-hostname"),
publicIpv4("public-ipv4"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ public ApplicationInfoManager(EurekaInstanceConfig config, InstanceInfo instance
instance = this;
}

public ApplicationInfoManager(EurekaInstanceConfig config) {
this(config, new EurekaConfigBasedInstanceInfoProvider(config).get());
}

/**
* @deprecated please use DI instead
*/
Expand All @@ -85,8 +89,7 @@ public void initComponent(EurekaInstanceConfig config) {
this.config = config;
this.instanceInfo = new EurekaConfigBasedInstanceInfoProvider(config).get();
} catch (Throwable e) {
throw new RuntimeException(
"Failed to initialize ApplicationInfoManager", e);
throw new RuntimeException("Failed to initialize ApplicationInfoManager", e);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ public abstract class AbstractAzToRegionMapper implements AzToRegionMapper {
private static final Logger logger = LoggerFactory.getLogger(InstanceRegionChecker.class);
private static final String[] EMPTY_STR_ARRAY = new String[0];

protected final EurekaClientConfig clientConfig;

/**
* A default for the mapping that we know of, if a remote region is configured to be fetched but does not have
* any availability zone mapping, we will use these defaults. OTOH, if the remote region has any mapping defaults
Expand All @@ -41,7 +43,8 @@ public List<String> get() {
private final Map<String, String> availabilityZoneVsRegion = new ConcurrentHashMap<String, String>();
private String[] regionsToFetch;

protected AbstractAzToRegionMapper() {
protected AbstractAzToRegionMapper(EurekaClientConfig clientConfig) {
this.clientConfig = clientConfig;
populateDefaultAZToRegionMap();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.netflix.discovery;

import com.netflix.discovery.endpoint.EndpointUtils;

import java.util.Collections;
import java.util.List;
import java.util.Map;
Expand All @@ -11,10 +13,14 @@
*/
public class DNSBasedAzToRegionMapper extends AbstractAzToRegionMapper {

public DNSBasedAzToRegionMapper(EurekaClientConfig clientConfig) {
super(clientConfig);
}

@Override
protected Set<String> getZonesForARegion(String region) {
Map<String, List<String>> zoneBasedDiscoveryUrlsFromRegion =
DiscoveryClient.getZoneBasedDiscoveryUrlsFromRegion(region);
Map<String, List<String>> zoneBasedDiscoveryUrlsFromRegion = EndpointUtils
.getZoneBasedDiscoveryUrlsFromRegion(clientConfig, region);
if (null != zoneBasedDiscoveryUrlsFromRegion) {
return zoneBasedDiscoveryUrlsFromRegion.keySet();
}
Expand Down
Loading

0 comments on commit caf7661

Please sign in to comment.