【问题标题】:Override a remote spring cloud property with a local one用本地属性覆盖远程 Spring Cloud 属性
【发布时间】:2022-01-13 00:19:01
【问题描述】:

我有一个 spring boot 应用程序,它通过 spring cloud 从远程配置服务器读取属性,它可以与远程存储库中定义的不同配置文件一起正常工作,我正在使用以下命令运行它:

java -jar my-app.jar --spring.profiles.active=my-custom-profile

但是,在某些特殊情况下,我希望能够在更改某些远程属性的同时运行应用程序(这些更改不是固定的,因此我无法为它们创建一些自定义配置文件),所以我已经试图通过这种方式直接通过命令行覆盖它们:

java -jar my-app.jar --spring.profiles.active=my-custom-profile --my.first.property=value1 --my.second.property=value2

但似乎没有考虑到这一点,因为应用程序在启动时仍然采用远程属性。

有什么合适的方法可以实现吗?

【问题讨论】:

    标签: java spring spring-boot spring-cloud spring-cloud-config


    【解决方案1】:

    由 Spring Cloud Config 定义的远程属性优先于任何其他属性源。如果你想用本地属性覆盖那些,你需要明确地允许这个,如Overriding the Values of Remote Properties中所述:

    spring.cloud.config.allowOverride=true
    spring.cloud.config.overrideNone=true
    

    【讨论】:

    • 谢谢,我错过了那部分文档
    猜你喜欢
    • 2017-10-03
    • 2012-07-23
    • 2015-08-31
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多