![JAR search and dependency download from the Maven repository](/logo.png)
org.zodiac.autoconfigure.bootstrap.discovery.composite.reactive.ReactiveCompositeAppDiscoveryClientAutoConfiguration Maven / Gradle / Ivy
package org.zodiac.autoconfigure.bootstrap.discovery.composite.reactive;
import java.util.List;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.zodiac.autoconfigure.bootstrap.condition.ConditionalOnAppDiscoveryEnabled;
import org.zodiac.autoconfigure.bootstrap.condition.ConditionalOnReactiveAppDiscoveryEnabled;
import org.zodiac.autoconfigure.bootstrap.condition.ConditionalOnSpringCloudBootstrapDisabled;
import org.zodiac.autoconfigure.bootstrap.discovery.AppDiscoveryStrategyProperties;
import org.zodiac.autoconfigure.bootstrap.discovery.reactive.AbstractReactiveAppDiscoveryClientConfiguration;
import org.zodiac.autoconfigure.bootstrap.discovery.simple.reactive.SimpleReactiveAppDiscoveryProperties;
import org.zodiac.core.bootstrap.discovery.ReactiveAppDiscoveryClient;
import org.zodiac.core.bootstrap.discovery.composite.reactive.ReactiveCompositeAppDiscoveryClient;
@SpringBootConfiguration
@ConditionalOnAppDiscoveryEnabled
@ConditionalOnReactiveAppDiscoveryEnabled
@ConditionalOnSpringCloudBootstrapDisabled
//@EnableConfigurationProperties(value = {AppDiscoveryStrategyProperties.class})
public class ReactiveCompositeAppDiscoveryClientAutoConfiguration
extends AbstractReactiveAppDiscoveryClientConfiguration {
private AppDiscoveryStrategyProperties appDiscoveryStrategyProperties;
public ReactiveCompositeAppDiscoveryClientAutoConfiguration(
AppDiscoveryStrategyProperties appDiscoveryStrategyProperties) {
this.appDiscoveryStrategyProperties = appDiscoveryStrategyProperties;
}
@Bean
protected SimpleReactiveAppDiscoveryProperties simpleReactiveDiscoveryProperties() {
return super.simpleReactiveDiscoveryProperties();
}
// @Bean
// @Order
// protected SimpleAppReactiveDiscoveryClient simpleReactiveDiscoveryClient() {
// return super.simpleReactiveDiscoveryClient();
// }
@Bean
@Primary
protected ReactiveCompositeAppDiscoveryClient
reactiveCompositeDiscoveryClient(List discoveryClients) {
if (discoveryClients.isEmpty()) {
/*因为该类是在SimpleReactiveAppDiscoveryClientAutoConfiguration之前生效,为空说明不是远程服务发现环境,创建基本的客户端。*/
discoveryClients.add(super.simpleReactiveDiscoveryClient());
}
return new ReactiveCompositeAppDiscoveryClient(discoveryClients);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy