From 982df797f00c476e375262257c50777793f150f9 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Fri, 18 Nov 2016 11:53:34 -0500 Subject: [PATCH 1/2] Make sure we copy variables to new InfoEndpoint. Fixes #143. --- .../RefreshEndpointAutoConfiguration.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java index bac20fea..7c613ae4 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java @@ -58,11 +58,14 @@ import org.springframework.integration.monitor.IntegrationMBeanExporter; @AutoConfigureAfter(EndpointAutoConfiguration.class) public class RefreshEndpointAutoConfiguration { - @ConditionalOnBean(EndpointAutoConfiguration.class) @ConditionalOnMissingClass("org.springframework.boot.actuate.info.InfoContributor") - @Bean - InfoEndpointRebinderConfiguration infoEndpointRebinderConfiguration() { - return new InfoEndpointRebinderConfiguration(); + protected static class InfoEndpointAutoConfiguration { + + @ConditionalOnBean(EndpointAutoConfiguration.class) + @Bean + InfoEndpointRebinderConfiguration infoEndpointRebinderConfiguration() { + return new InfoEndpointRebinderConfiguration(); + } } @ConditionalOnMissingBean @@ -168,7 +171,7 @@ public class RefreshEndpointAutoConfiguration { } private InfoEndpoint infoEndpoint(InfoEndpoint endpoint) { - return new InfoEndpoint(endpoint.invoke()) { + InfoEndpoint newEndpoint = new InfoEndpoint(endpoint.invoke()) { @Override public Map invoke() { Map info = new LinkedHashMap( @@ -177,6 +180,10 @@ public class RefreshEndpointAutoConfiguration { return info; } }; + newEndpoint.setId(endpoint.getId()); + newEndpoint.setEnabled(endpoint.isEnabled()); + newEndpoint.setSensitive(endpoint.isSensitive()); + return newEndpoint; } } From 607b6a9b0cb8030537ed6be64f634c29a4d383c3 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 21 Nov 2016 11:01:02 -0500 Subject: [PATCH 2/2] Added TODO to remove InfoEndpointRebinderConfiguration --- .../cloud/autoconfigure/RefreshEndpointAutoConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java index 7c613ae4..a09858d1 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshEndpointAutoConfiguration.java @@ -58,6 +58,8 @@ import org.springframework.integration.monitor.IntegrationMBeanExporter; @AutoConfigureAfter(EndpointAutoConfiguration.class) public class RefreshEndpointAutoConfiguration { + //TODO Remove this class and InfoEndpointRebinderConfiguration once we no longer + //need to support Boot 1.3.x @ConditionalOnMissingClass("org.springframework.boot.actuate.info.InfoContributor") protected static class InfoEndpointAutoConfiguration {