Mam pytanie dotyczące pierwszeństwa zmiennych środowiskowych podczas pracy z spring cloud config serverWiosna Chmura Config Server Priority zmiennych środowiskowych
W mojej służbie Mam lokalne właściwości pliku application.yml
z tej zawartości
foo:
bar: "some"
buz: "some"
joe: "some"
usługa jest również połączona z serwerem konfiguracji z repozytorium konfiguracji, które zawiera plik testservice-api.yml
(gdzie testservice-api
to nazwa usługi wiosennej usługi). Zawartość tego pliku jest:
foo:
bar: "some-specific"
Więc z tej konfiguracji konfiguracja przy starcie spowodowałoby to:
{
"foo.bar": "some-specific",
"foo.buz": "some",
"foo.joe": "some"
}
Teraz staram się zastąpić foo.bar
i foo.joe
ze zmienną środowiskową.
więc uruchomić usługę z tym poleceniem:
FOO_BAR=some-env FOO_JOE=some-env gradle bootRun
Z tego co czytałem w this part of the spring boot documentation zmienne środowiskowe powinny mieć pierwszeństwo przed plikach konfiguracyjnych - również sprężyna dokumentacja chmura config nie określa czegoś inny - tak bym się spodziewał wynikiem będzie:
{
"foo.bar": "some-env",
"foo.buz": "some",
"foo.joe": "some-env"
}
Ale zamiast uzyskać:
{
"foo.bar": "some-specific",
"foo.buz": "some",
"foo.joe": "some-env"
}
Zatem tylko konfiguracja z lokalnego pliku konfiguracyjnego wewnątrz słoika jest nadpisywana przez zmienną środowiskową - właściwość z repozytorium konfiguracji ma pierwszeństwo przed zmienną środowiskową.
Czy można to wyjaśnić? Czy to błąd? Jakieś wskazówki w tym?
Proszę znaleźć przykładowy kod tutaj:
https://github.com/mduesterhoeft/configserver-test
README w repozytorium wymienia problem opisany tutaj jako Use Case 3
Serwer konfiguracji ma najwyższy priorytet. – spencergibb
@spencergibb dzięki za podpowiedź - to gdzieś udokumentowane? Wszystko, co znalazłem, to "Te same zasady, które obowiązują w samodzielnej aplikacji Spring Boot". - więc pomyślałem, że te zasady mają zastosowanie - https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config –
To powinno być, jeśli nie, ale byłoby to w dokumentacji wiosennej chmury. – spencergibb