• nacos~共享配置和导入公用配置文件


    在spring cloud中的config server中,对于公用的配置我们会放到application-{profiles.active}.yml中,对于共享配置片断,可以使用include来实现;而对于nacos来说,是不能直接继承了,则需要使用nacos自己的语法。

    一 共享配置片断

    https://www.cnblogs.com/lori/p/15893020.html

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 192.168.60.138:80
            namespace: zzl
          config:
            server-addr: 192.168.60.138:80
            file-extension: yaml
            namespace: zzl
            shared-configs[0]:
              data-id: actuator.yaml
              refresh: true
            shared-configs[1]:
              data-id: const.yaml
              refresh: true
    

    二 导入配置文件(继承配置)

    • spring.config.import属性,用来导入本地或者远程的公用配置文件
    spring:
      application:
        name: @artifactId@
      cloud:
        nacos:
          discovery:
            server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
          config:
            server-addr: ${spring.cloud.nacos.discovery.server-addr}
      config:
        import:
          - nacos:application-@profiles.active@.yml
          - nacos:${spring.application.name}-@profiles.active@.yml
    
    

    以上两种共享配置文件的方法,非常实用,希望对咱们有所帮助。

    三 本地与远程配置优先级

    1. 远程优先
    2. 其次是本地
    • 测试
      application.yml
    spring:
      application:
        name: @artifactId@
      profiles:
        active: dev
      cloud:
        nacos:
          discovery:
            server-addr: ${NACOS_HOST:localhost}:${NACOS_PORT:8848}
          config:
            server-addr: ${spring.cloud.nacos.discovery.server-addr}
      config:
        import:
          - nacos:auth.yml
    
    • 本地配置类,开启配置自动刷新
    @Data
    @RefreshScope
    @ConfigurationProperties("auth")
    public class AuthProperties {
      private String name;
      private String date;
    }
    
    //启动类
    @SpringBootApplication
    @EnableConfigurationProperties(AuthProperties.class) //开启AuthProperties配置bean
    @Slf4j
    public class LindDemoApplication {}
    
    • 远程nacos配置文件auth.yml
    auth:
     name: lind-remote
    
  • 相关阅读:
    Anaconda设置虚拟环境并打包exe
    [转]Anaconda, conda, pyenv, virtualenv的区别
    [闲记]2020-2-13
    集合笔记
    Python_列表(list)
    LeetCode 1711. 大餐计数 做题小结
    LeetCode 242. 有效的字母异位词 做题小结
    GitHub Actions教程 使用selenium自动化
    LeetCode 5641. 卡车上的最大单元数 做题小结
    git 批量删除文件夹和文件
  • 原文地址:https://www.cnblogs.com/lori/p/16450911.html
Copyright © 2020-2023  润新知