diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java index 50760546..ff595aec 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepository.java @@ -225,7 +225,7 @@ public class NativeEnvironmentRepository implements EnvironmentRepository, Searc Map map = new HashMap<>(); map.put("spring.profiles.active", profile); String config = application; - if (!config.startsWith("application")) { + if (!config.equals("application")) { config = "application," + config; } map.put("spring.config.name", config); diff --git a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java index 1534347a..f70155ca 100644 --- a/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java +++ b/spring-cloud-config-server/src/test/java/org/springframework/cloud/config/server/environment/NativeEnvironmentRepositoryTests.java @@ -193,6 +193,15 @@ public class NativeEnvironmentRepositoryTests { assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("app"); } + @Test + public void placeholdersApplicationWithPrefixAndProfile() { + this.repository.setSearchLocations("classpath:/test/{profile}/{application}/"); + // gh-2259 application name starts with "application" + Environment environment = this.repository.findOne("applicationxyz", "dev", "master"); + assertThat(environment.getPropertySources().size()).isEqualTo(1); + assertThat(environment.getPropertySources().get(0).getSource().get("foo")).isEqualTo("default-app"); + } + @Test public void locationPlaceholdersApplication() { this.repository.setSearchLocations("classpath:/test/{application}"); diff --git a/spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties b/spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties new file mode 100644 index 00000000..558a6c48 --- /dev/null +++ b/spring-cloud-config-server/src/test/resources/test/dev/applicationxyz/application.properties @@ -0,0 +1 @@ +foo:default-app