diff --git a/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/PrometheusConfiguration.java b/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/PrometheusConfiguration.java index 24841a26f59bc44abef4c67ac5b74496738ae995..a6f41c54839f7cdd13d9074ad0c2f0ff5bada051 100644 --- a/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/PrometheusConfiguration.java +++ b/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/PrometheusConfiguration.java @@ -16,9 +16,12 @@ package net.dreamlu.mica.prometheus.sd; -import org.springframework.cloud.client.ConditionalOnBlockingDiscoveryEnabled; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.client.ConditionalOnDiscoveryEnabled; +import org.springframework.cloud.client.ConditionalOnReactiveDiscoveryEnabled; import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.client.discovery.ReactiveDiscoveryClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -28,13 +31,33 @@ import org.springframework.context.annotation.Configuration; * @author L.cm */ @Configuration(proxyBeanMethods = false) -@ConditionalOnDiscoveryEnabled -@ConditionalOnBlockingDiscoveryEnabled public class PrometheusConfiguration { - @Bean - public PrometheusApi prometheusApi(DiscoveryClient discoveryClient) { - return new PrometheusApi(discoveryClient); + @Configuration(proxyBeanMethods = false) + @ConditionalOnBean(DiscoveryClient.class) + @ConditionalOnDiscoveryEnabled + // @ConditionalOnBlockingDiscoveryEnabled + @ConditionalOnProperty(value = "spring.cloud.discovery.blocking.enabled") + public static class PrometheusApiConfiguration { + + @Bean + public PrometheusApi prometheusApi(DiscoveryClient discoveryClient) { + return new PrometheusApi(discoveryClient); + } + + } + + @Configuration(proxyBeanMethods = false) + @ConditionalOnBean(ReactiveDiscoveryClient.class) + @ConditionalOnDiscoveryEnabled + @ConditionalOnReactiveDiscoveryEnabled + public static class ReactivePrometheusApiConfiguration { + + @Bean + public ReactivePrometheusApi reactivePrometheusApi(ReactiveDiscoveryClient discoveryClient) { + return new ReactivePrometheusApi(discoveryClient); + } + } } diff --git a/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/ReactivePrometheusConfiguration.java b/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/ReactivePrometheusConfiguration.java deleted file mode 100644 index 66bde8a838bbc8395e8a9532d2a23194036d34f0..0000000000000000000000000000000000000000 --- a/mica-prometheus/src/main/java/net/dreamlu/mica/prometheus/sd/ReactivePrometheusConfiguration.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2019-2029, Dreamlu 卢春梦 (596392912@qq.com & www.dreamlu.net). - *

- * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - *

- * http://www.gnu.org/licenses/lgpl.html - *

- * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package net.dreamlu.mica.prometheus.sd; - -import org.springframework.cloud.client.ConditionalOnDiscoveryEnabled; -import org.springframework.cloud.client.ConditionalOnReactiveDiscoveryEnabled; -import org.springframework.cloud.client.discovery.ReactiveDiscoveryClient; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * prometheus http sd - * - * @author L.cm - */ -@Configuration(proxyBeanMethods = false) -@ConditionalOnDiscoveryEnabled -@ConditionalOnReactiveDiscoveryEnabled -public class ReactivePrometheusConfiguration { - - @Bean - public ReactivePrometheusApi prometheusApi(ReactiveDiscoveryClient discoveryClient) { - return new ReactivePrometheusApi(discoveryClient); - } - -}