diff --git a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java index 5136ab08..3d69ab78 100644 --- a/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java +++ b/spring-cloud-config-client/src/main/java/org/springframework/cloud/config/client/ConfigServerConfigDataLoader.java @@ -19,6 +19,7 @@ package org.springframework.cloud.config.client; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.EnumSet; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; @@ -28,6 +29,7 @@ import org.apache.commons.logging.Log; import org.springframework.boot.context.config.ConfigData; import org.springframework.boot.context.config.ConfigData.Option; +import org.springframework.boot.context.config.ConfigData.Options; import org.springframework.boot.context.config.ConfigDataLoader; import org.springframework.boot.context.config.ConfigDataLoaderContext; import org.springframework.boot.context.properties.bind.Binder; @@ -62,6 +64,8 @@ public class ConfigServerConfigDataLoader implements ConfigDataLoader ALL_OPTIONS = EnumSet.allOf(Option.class); + protected final Log logger; public ConfigServerConfigDataLoader(Log logger) { @@ -91,7 +95,7 @@ public class ConfigServerConfigDataLoader implements ConfigDataLoader> composite = new ArrayList<>(); + List> propertySources = new ArrayList<>(); Exception error = null; String errorBody = null; try { @@ -113,7 +117,7 @@ public class ConfigServerConfigDataLoader implements ConfigDataLoader map = translateOrigins(source.getName(), (Map) source.getSource()); - composite.add(0, + propertySources.add(0, new OriginTrackedMapPropertySource("configserver:" + source.getName(), map)); } } @@ -127,17 +131,31 @@ public class ConfigServerConfigDataLoader implements ConfigDataLoader 2) { + // boot 2.4.5+ + return new ConfigData(propertySources, propertySource -> { + String propertySourceName = propertySource.getName(); + List