Переопределить `spring.cloud.config.profile` во время выполнения - PullRequest
0 голосов
/ 04 сентября 2018

Я использую конфигурацию Spring Cloud, и мне нужно переопределить мое свойство spring.cloud.config.profile во время выполнения, чтобы оно было blue или green

У меня есть метод - determineConfigProfile(), который возвращает blue или green, но как мне сказать 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()), но я не вижу, как установить активные профили.

1 Ответ

0 голосов
/ 04 сентября 2018

Оставив это, потому что я думаю, что это полезно, то, что я сделал, было в моем 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 Cloud запускается и переопределяет профиль.

...