集成Nacos配置中心及可能遇到的问题


集成

添加maven依赖

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-spring-context</artifactId>
            <version>1.1.0</version>
        </dependency>

nacos配置

nacos.server-addr=www.nacos.org:80
nacos.namespace=dev

java config

@Configuration
@EnableNacosConfig
@NacosPropertySource(dataId = "app_config.properties", autoRefreshed = true)
@Slf4j
public class NacosConfig {

    @NacosInjected
    ConfigService configService;

    @NacosConfigListener(dataId = "app_config.properties", type = ConfigType.PROPERTIES)
    public void listener(Properties properties) {

    }
}

注入配置的方式

1.@Value注解

nacos-spring-context对spring @Value提供了注入支持,启动时会通过NacosPropertySourcePostProcessor把Properties加载入容器中,
但是这里有个坑,@Value默认不支持自动刷新,自动刷新需要spring-cloud的@RefreshScope配合

2.@NacosValue

支持单个配置刷新,主要实现类NacosValueAnnotationBeanPostProcessor,通过NacosConfigReceivedEvent事件触发刷新

3.@NacosConfigurationProperties

支持把配置文件绑定到POJO上,支持自动刷新

4.@NacosConfigListener

对于复杂的场景可以使用Listener定制化修改逻辑


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM