From 15f26c0040649b22e9982f73a8672c4e0407ed48 Mon Sep 17 00:00:00 2001 From: kid Date: Tue, 13 Sep 2022 20:38:26 +0800 Subject: [PATCH] Update PropertyPathEndpoint to ignore profiles - Fixes gh-2138 (#2139) --- .../config/monitor/PropertyPathEndpoint.java | 18 ++++++------------ .../monitor/PropertyPathEndpointTests.java | 6 +++--- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java index e8920b19..b17c71a9 100644 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/PropertyPathEndpoint.java @@ -108,22 +108,16 @@ public class PropertyPathEndpoint implements ApplicationEventPublisherAware { String stem = StringUtils.stripFilenameExtension(StringUtils.getFilename(StringUtils.cleanPath(path))); // TODO: correlate with service registry int index = stem.indexOf("-"); - while (index >= 0) { - String name = stem.substring(0, index); - String profile = stem.substring(index + 1); - if ("application".equals(name)) { - services.add("*:" + profile); - } - else if (!name.startsWith("application")) { - services.add(name + ":" + profile); - } - index = stem.indexOf("-", index + 1); - } String name = stem; + if (index > 0) { + name = stem.substring(0, index); + } + // foo.properties is targeted at the foo application, + // while application.properties is targeted at all applications if ("application".equals(name)) { services.add("*"); } - else if (!name.startsWith("application")) { + else { services.add(name); } } diff --git a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java index b69151a7..8ac55a7a 100644 --- a/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java +++ b/spring-cloud-config-monitor/src/test/java/org/springframework/cloud/config/monitor/PropertyPathEndpointTests.java @@ -72,7 +72,7 @@ public class PropertyPathEndpointTests { public void testNotifyAllWithProfile() { assertThat(this.endpoint .notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "application-local.yml")).toString()) - .isEqualTo("[*:local]"); + .isEqualTo("[*]"); } @Test @@ -92,13 +92,13 @@ public class PropertyPathEndpointTests { @Test public void testNotifyOneWithProfile() { assertThat(this.endpoint.notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "foo-local.yml")) - .toString()).isEqualTo("[foo:local, foo-local]"); + .toString()).isEqualTo("[foo]"); } @Test public void testNotifyMultiDash() { assertThat(this.endpoint.notifyByPath(new HttpHeaders(), Collections.singletonMap("path", "foo-local-dev.yml")) - .toString()).isEqualTo("[foo:local-dev, foo-local:dev, foo-local-dev]"); + .toString()).isEqualTo("[foo]"); } }