Commit 4e0fdbee authored by Madhura Bhave's avatar Madhura Bhave

Process additional locations when non-default location configured

Fixes gh-20745
parent af6d5387
......@@ -622,12 +622,14 @@ public class ConfigFileApplicationListener implements EnvironmentPostProcessor,
}
private Set<String> getSearchLocations() {
Set<String> locations = getSearchLocations(CONFIG_ADDITIONAL_LOCATION_PROPERTY);
if (this.environment.containsProperty(CONFIG_LOCATION_PROPERTY)) {
return getSearchLocations(CONFIG_LOCATION_PROPERTY);
locations.addAll(getSearchLocations(CONFIG_LOCATION_PROPERTY));
}
else {
locations.addAll(
asResolvedSet(ConfigFileApplicationListener.this.searchLocations, DEFAULT_SEARCH_LOCATIONS));
}
Set<String> locations = getSearchLocations(CONFIG_ADDITIONAL_LOCATION_PROPERTY);
locations.addAll(
asResolvedSet(ConfigFileApplicationListener.this.searchLocations, DEFAULT_SEARCH_LOCATIONS));
return locations;
}
......
......@@ -913,6 +913,16 @@ class ConfigFileApplicationListenerTests {
assertThat(this.environment.getProperty("value")).isEqualTo("1234");
}
@Test
void additionalLocationWhenLocationConfiguredShouldTakesPrecedenceOverConfiguredLocation() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
"spring.config.location=classpath:some.properties",
"spring.config.additional-location=classpath:override.properties");
this.initializer.postProcessEnvironment(this.environment, this.application);
assertThat(this.environment.getProperty("foo")).isEqualTo("bar");
assertThat(this.environment.getProperty("value")).isNull();
}
@Test
void locationReplaceDefaultLocation() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment