diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java index 8460af01..d23f8683 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/AbstractConfigDataLoader.java @@ -125,10 +125,16 @@ public abstract class AbstractConfigDataLoader resolve(ConfigDataLocationResolverContext context, String location) { + public List resolve(ConfigDataLocationResolverContext context, String location, + boolean optional) { return Collections.emptyList(); } public List resolveProfileSpecific(ConfigDataLocationResolverContext context, - String location, Profiles profiles) { + String location, boolean optional, Profiles profiles) { ConfigClientProperties properties = loadProperties(context.getBinder()); @@ -123,12 +124,13 @@ public abstract class AbstractConfigDataLocationResolver locations = new ArrayList<>(); - locations.add(createConfigDataLocation(profiles, properties, restTemplate)); + locations.add( + createConfigDataLocation(optional, profiles, properties, restTemplate)); return locations; } - protected abstract L createConfigDataLocation(Profiles profiles, + protected abstract L createConfigDataLocation(boolean optional, Profiles profiles, ConfigClientProperties properties, RestTemplate restTemplate); } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java index f3df9478..c5f1cd25 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocation.java @@ -22,8 +22,8 @@ import org.springframework.web.client.RestTemplate; public class ConfigServerConfigDataLocation extends AbstractConfigDataLocation { public ConfigServerConfigDataLocation(RestTemplate restTemplate, - ConfigClientProperties properties, Profiles profiles) { - super(restTemplate, properties, profiles); + ConfigClientProperties properties, boolean optional, Profiles profiles) { + super(restTemplate, properties, optional, profiles); } } diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java index 35489a6e..abb5fb04 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLocationResolver.java @@ -31,9 +31,11 @@ public class ConfigServerConfigDataLocationResolver } @Override - protected ConfigServerConfigDataLocation createConfigDataLocation(Profiles profiles, - ConfigClientProperties properties, RestTemplate restTemplate) { - return new ConfigServerConfigDataLocation(restTemplate, properties, profiles); + protected ConfigServerConfigDataLocation createConfigDataLocation(boolean optional, + Profiles profiles, ConfigClientProperties properties, + RestTemplate restTemplate) { + return new ConfigServerConfigDataLocation(restTemplate, properties, optional, + profiles); } } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java index 7d63d589..5e632445 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocation.java @@ -22,8 +22,8 @@ import org.springframework.web.client.RestTemplate; public class TestConfigServerConfigDataLocation extends AbstractConfigDataLocation { public TestConfigServerConfigDataLocation(RestTemplate restTemplate, - ConfigClientProperties properties, Profiles profiles) { - super(restTemplate, properties, profiles); + ConfigClientProperties properties, boolean optional, Profiles profiles) { + super(restTemplate, properties, optional, profiles); } } diff --git a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java index 85c51dca..bb64c427 100644 --- a/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java +++ b/spring-cloud-config-client/src/test/java/org/springframework/cloud/config/client/TestConfigServerConfigDataLocationResolver.java @@ -53,9 +53,10 @@ public class TestConfigServerConfigDataLocationResolver @Override protected TestConfigServerConfigDataLocation createConfigDataLocation( - Profiles profiles, ConfigClientProperties properties, + boolean optional, Profiles profiles, ConfigClientProperties properties, RestTemplate restTemplate) { - return new TestConfigServerConfigDataLocation(restTemplate, properties, profiles); + return new TestConfigServerConfigDataLocation(restTemplate, properties, optional, + profiles); } }