在运行时覆盖`spring.cloud.config.profile`

问题描述 投票:1回答:1

我正在使用Spring云配置,我需要在运行时覆盖我的spring.cloud.config.profile属性为bluegreen

我有一个方法 - determineConfigProfile()返回bluegreen但是怎么办我告诉Spring Boot在获取配置之前运行此方法(即解析配置属性)以及如何告诉Spring Boot覆盖系统属性?

我在这里看到https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_client.html "profile" = ${spring.profiles.active} (actually Environment.getActiveProfiles())但我不知道如何设置活动配置文件。

java spring spring-boot spring-cloud-config
1个回答
0
投票

离开这个因为我觉得它很有用,我所做的就是在我的public class Application extends SpringBootServletInitializer

我做了以下事情:

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        String profile = determineConfigProfile();
        System.setProperty("spring.cloud.config.profile", profile);
        return application.sources(Application.class);
    }

这在Spring云配置启动之前运行,它会覆盖配置文件。

© www.soinside.com 2019 - 2024. All rights reserved.