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

org.zodiac.autoconfigure.nacos.confcenter.routing.NacosRoutingAutoConfiguration Maven / Gradle / Ivy

package org.zodiac.autoconfigure.nacos.confcenter.routing;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.zodiac.autoconfigure.bootstrap.condition.ConditionalOnSpringCloudBootstrapDisabled;
import org.zodiac.autoconfigure.nacos.condition.ConditionalOnNacosConfCenterEnabled;
import org.zodiac.autoconfigure.nacos.condition.ConditionalOnNacosRoutingEnabled;
import org.zodiac.core.context.config.annotation.AppRefreshScope;

@SpringBootConfiguration
@ConditionalOnNacosRoutingEnabled
@ConditionalOnNacosConfCenterEnabled
@ConditionalOnSpringCloudBootstrapDisabled
@ConditionalOnClass(value = {com.alibaba.nacos.api.NacosFactory.class, org.zodiac.nacos.base.NacosAppInstance.class, org.zodiac.nacos.client.context.NacosClientContext.class})
public class NacosRoutingAutoConfiguration {

    public NacosRoutingAutoConfiguration() {
    }

    @Bean
    @AppRefreshScope
    @ConditionalOnMissingBean
    @ConfigurationProperties(value = org.zodiac.nacos.base.constants.NacosSystemPropertiesConstants.NACOS_ROUTING_PREFIX)
    protected NacosRoutingProperties nacosRoutingProperties() {
        return new NacosRoutingProperties();
    }

    @Bean
    @ConditionalOnMissingBean
    protected org.zodiac.nacos.client.confcenter.routing.NacosAppRoutingService nacosAppRoutingService(
        com.alibaba.nacos.api.config.ConfigService configService, NacosRoutingProperties nacosRoutingProperties) {
        return new org.zodiac.nacos.client.confcenter.routing.DefaultNacosAppRoutingService(configService, nacosRoutingProperties);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy