2017-01-23 14 views
6

Mam serwer chmury wiosennej dla moich aplikacji, obsługujący pliki wspólnych właściwości podczas uruchamiania.Konfiguracja chmur wiosennych - ładowanie dodatkowych plików

"Normalna" funkcjonalność działa poprawnie. Aplikacja pobiera hierarchię plików i ma pełny dostęp do załadowanych parametrów.

Application.properties 
Application-<profile>.properties 
<applicationname>.properties 
... 

Teraz pytanie: Jak mogę załadować plik konfiguracyjny obok wspólnego nazewnictwa?

Jeśli przechowuję inny plik w repozytorium, np. sharedCommonServers.properties, w jaki sposób mogę dodatkowo załadować ten plik przy użyciu serwera konfiguracyjnego? Ten plik zawiera właściwości używane przez niektóre, ale nie wszystkie programy.

Z góry dziękuję!

Hendrik

+0

'@PropertySource (" classpath: sharedCommonServers.properties ")', po prostu dodaj go do swojej klasy aplikacji. –

+0

Właściwość sharedCommonServers.properties powinna zostać załadowana przy użyciu serwera konfiguracji w chmurze. Dodałem linię do konfiguracji, ale nie wydaje się, aby ją załadować. Czy to prawda, ta linia ładowałaby plik tylko z pamięci lokalnej, czy też powinna używać serwera konfiguracyjnego? –

+0

Zobacz [tę odpowiedź] (http://stackoverflow.com/a/41374808/390513), powinno być pomocne. – Kane

Odpowiedz

4

Ok, przynajmniej tak znalazł rozwiązanie:

I miało normalnego stosowania-context cloud konfiguracji. W tym kontekście umieściłem plik sharedCommonServers.properties jako domyślny plik właściwości aplikacji ze specjalnym profilem.

zmienianie nazw:

'sharedCommonServers.properties' to 'application-commonServers.properties' 

Rozszerzając ustawienia profilu z sprężyna chmura config commonServers 'jest pobieranie go dodatkowo.

Uważaj, nie ma nakładających się kluczy własności w drugiej linii profilu.

Więc w moim środowisku kiedy ustawić ...

-Dspring.profiles.active=prod,commonServers' 

... dostanę domyślną konfigurację prod i te oznaczone jako profile "commonServers.

application.properties 
application-prod.properties 
application-commonServers.properties // the additional one 
<appname>.properties 
<appname>-prod.properties 
// and <appname>-commonServers.properties if I would need it 

Dziękuję za sugestie i przemyślenia!

Powiązane problemy