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 9f554636..edadbc77 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 @@ -111,7 +111,7 @@ public class PropertyPathEndpoint Set services = new LinkedHashSet<>(); if (path != null) { String stem = StringUtils - .stripFilenameExtension(StringUtils.getFilename(path)); + .stripFilenameExtension(StringUtils.getFilename(StringUtils.cleanPath(path))); // TODO: correlate with service registry int index = stem.indexOf("-"); while (index >= 0) { 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 d3d3ebda..53a967bf 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 @@ -86,6 +86,15 @@ public class PropertyPathEndpointTests { .toString()); } + @Test + public void testNotifyOneWithWindowsPath() throws Exception { + assertEquals("[foo]", + this.endpoint + .notifyByPath(new HttpHeaders(), Collections + . singletonMap("path", "C:\\config\\foo.yml")) + .toString()); + } + @Test public void testNotifyOneWithProfile() throws Exception { assertEquals("[foo:local, foo-local]",