All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.baidu.formula.discovery.autoconfigure.FormulaDiscoveryClientConfiguration Maven / Gradle / Ivy

package com.baidu.formula.discovery.autoconfigure;

import com.baidu.discovery.client.FormulaClient;
import com.baidu.formula.discovery.core.ConditionalOnFormulaDiscoveryEnabled;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cloud.client.CommonsClientAutoConfiguration;
import org.springframework.cloud.client.discovery.simple.SimpleDiscoveryClientAutoConfiguration;
import org.springframework.cloud.commons.util.InetUtils;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author Bowu Dong ([email protected])
 */
@Configuration
@ConditionalOnFormulaDiscoveryEnabled
@ConditionalOnProperty(value = "formula.discovery.enabled", matchIfMissing = true)
@EnableConfigurationProperties
@AutoConfigureBefore({ SimpleDiscoveryClientAutoConfiguration.class, CommonsClientAutoConfiguration.class })
public class FormulaDiscoveryClientConfiguration {
    @Autowired
    private FormulaClient formulaClient;

    @Bean
    public FormulaDiscoveryProperties formulaDiscoveryProperties(InetUtils inetUtils) {
        return new FormulaDiscoveryProperties(inetUtils);
    }

    @Bean
    @ConditionalOnMissingBean
    public com.baidu.formula.discovery.autoconfigure.FormulaDiscoveryClient formulaDiscoveryClient(
            FormulaDiscoveryProperties discoveryProperties) {
        return new com.baidu.formula.discovery.autoconfigure.FormulaDiscoveryClient(formulaClient, discoveryProperties);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy