diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java index ff6b5d766db..ea5f524fb44 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/server/ManagementContextAutoConfiguration.java @@ -16,6 +16,8 @@ package org.springframework.boot.actuate.autoconfigure.web.server; +import java.util.Map; + import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.boot.actuate.autoconfigure.web.ManagementContextFactory; import org.springframework.boot.actuate.autoconfigure.web.ManagementContextType; @@ -109,29 +111,33 @@ public class ManagementContextAutoConfiguration { } + /** + * {@link EnumerablePropertySource} providing {@code local.management.port} support. + */ static class LocalManagementPortPropertySource extends EnumerablePropertySource implements OriginLookup { - private static final String[] PROPERTIES = { "local.management.port" }; + private static final Map PROPERTY_MAPPINGS = Map.of("local.management.port", + "local.server.port"); + + private static final String[] PROPERTY_NAMES = PROPERTY_MAPPINGS.keySet().toArray(String[]::new); - private final ConfigurableEnvironment environment; + private final Environment environment; - LocalManagementPortPropertySource(ConfigurableEnvironment environment) { + LocalManagementPortPropertySource(Environment environment) { super("Management Server"); this.environment = environment; } @Override public String[] getPropertyNames() { - return PROPERTIES; + return PROPERTY_NAMES; } @Override public Object getProperty(String name) { - if ("local.management.port".equals(name)) { - return this.environment.getProperty("local.server.port"); - } - return null; + String mapped = PROPERTY_MAPPINGS.get(name); + return (mapped != null) ? this.environment.getProperty(mapped) : null; } @Override @@ -143,6 +149,7 @@ public class ManagementContextAutoConfiguration { public boolean isImmutable() { return true; } + } }