Tag: spring cloud config

Spring Cloud Config Server环境变量优先级

在使用spring cloud配置服务器时,我对环境变量的优先级有疑问 在我的服务中,我有一个带有此内容的本地属性文件application.yml foo: bar: “some” buz: “some” joe: “some” 该服务还连接到配置服务器,配置存储库包含文件testservice-api.yml (其中testservice-api是服务的spring应用程序名称)。 该文件的内容是: foo: bar: “some-specific” 因此,使用此设置,运行时的配置将导致: { “foo.bar”: “some-specific”, “foo.buz”: “some”, “foo.joe”: “some” } 现在我尝试用环境变量覆盖foo.bar和foo.joe 。 所以我用这个命令启动服务: FOO_BAR=some-env FOO_JOE=some-env gradle bootRun 从我在spring boot文档的这一部分中读到的内容 ,环境变量应优先于配置文件 – spring cloud配置文档也没有说明不同 – 所以我希望结果如下: { “foo.bar”: “some-env”, “foo.buz”: “some”, “foo.joe”: “some-env” } 但相反,我得到: { “foo.bar”: “some-specific”, “foo.buz”: “some”, “foo.joe”: […]

如何在引导程序文件中正确设置不同的Spring配置文件(对于Spring Boot,以针对不同的云配置服务器)?

每个环境都有不同的配置服务器。 每个Spring启动应用程序都应该以其相应的配置服 我试图通过在bootstrap.properties文件中设置配置文件来实现这一点,例如: spring.application.name=app-name spring.cloud.config.uri=http://default-config-server.com — spring.profiles=dev spring.cloud.config.uri=http://dev-config-server.com — spring.profiles=stage spring.cloud.config.uri=http://stage-config-server.com — spring.profiles=prod spring.cloud.config.uri=http://prod-config-server.com 然后我设置cla -Dspring.profiles.active=dev但是加载的配置服务器始终是文件中设置的最后一个(即prod配置服务器将在上面的设置中加载,然后如果删除prod,阶段将加载)。 是否可以为云配置服务器设置引导配置文件? 我按照这个例子,但似乎无法使它工作。 对于它的价值,这些配置文件非常适合加载正确的配置(即,如果dev配置文件处于活动状态,则会加载app-name-dev.properties),但不会从正确的配置服务器中提取。