From a218e6f5ce91f06a7debfac67f9f4f898cc9454f Mon Sep 17 00:00:00 2001 From: fudali113 Date: Mon, 23 Mar 2020 14:47:47 +0800 Subject: [PATCH] feat: use ConditionalOnEnabledHealthIndicator condition with NacosConfigHealthIndicator & AcmHealthIndicator & RocketMQBinderHealthIndicator & SidecarHealthIndicator [fix #1276] https://github.com/alibaba/spring-cloud-alibaba/issues/1276 --- .../endpoint/NacosConfigEndpointAutoConfiguration.java | 4 ++-- .../META-INF/additional-spring-configuration-metadata.json | 6 ------ .../com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java | 2 ++ .../RocketMQBinderHealthIndicatorAutoConfiguration.java | 2 ++ 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java index 84bca53a..42908218 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java @@ -21,6 +21,7 @@ import com.alibaba.cloud.nacos.refresh.NacosRefreshHistory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -52,8 +53,7 @@ public class NacosConfigEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - @ConditionalOnProperty(name = "spring.cloud.nacos.config.health.enabled", - matchIfMissing = true) + @ConditionalOnEnabledHealthIndicator("nacos-config") public NacosConfigHealthIndicator nacosConfigHealthIndicator() { return new NacosConfigHealthIndicator(nacosConfigManager.getConfigService()); } diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 1b63cf27..f6f3fe41 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -55,12 +55,6 @@ "type": "java.util.List", "description": "a set of extensional configurations .e.g: spring.cloud.nacos.config.extension-configs[0]=xxx ." }, - { - "name": "spring.cloud.nacos.config.health.enabled", - "type": "java.lang.Boolean", - "defaultValue": true, - "description": "the switch for health check, it default enabled(true)." - }, { "name": "spring.cloud.nacos.config.refresh-enabled", "type": "java.lang.Boolean", diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java index 3f29a58d..da4bd851 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sidecar/src/main/java/com/alibaba/cloud/sidecar/SidecarAutoConfiguration.java @@ -16,6 +16,7 @@ package com.alibaba.cloud.sidecar; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -37,6 +38,7 @@ public class SidecarAutoConfiguration { } @Bean + @ConditionalOnEnabledHealthIndicator("sidecar") public SidecarHealthIndicator sidecarHealthIndicator( SidecarProperties sidecarProperties, RestTemplate restTemplate) { return new SidecarHealthIndicator(sidecarProperties, restTemplate); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java index 847422a8..1c3b5dc0 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-stream-rocketmq/src/main/java/com/alibaba/cloud/stream/binder/rocketmq/config/RocketMQBinderHealthIndicatorAutoConfiguration.java @@ -18,6 +18,7 @@ package com.alibaba.cloud.stream.binder.rocketmq.config; import com.alibaba.cloud.stream.binder.rocketmq.actuator.RocketMQBinderHealthIndicator; +import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; @@ -31,6 +32,7 @@ import org.springframework.context.annotation.Configuration; public class RocketMQBinderHealthIndicatorAutoConfiguration { @Bean + @ConditionalOnEnabledHealthIndicator("rocketmq") public RocketMQBinderHealthIndicator rocketBinderHealthIndicator() { return new RocketMQBinderHealthIndicator(); }