Hallo allerseits,
ich habe eine Fragestellung in der ich leider nicht weiterkomme. Gegeben ist ein Spring Projekt mit einigen Modulen, die als Microservices laufen. Eins davon ist ein Config Server, greift auf eine Gitlab Repo zu und holt die Einstellungen für die jeweiligen Modulen. Das funktioniert wunderbar.
Nun habe ich einen weiteren Gitlab Repo bekommen, woraus ich eine Datei auslesen sollte um die Werte dadrin als Klasse für die ganze Applikation bereit zu stellen.
Mein erster Ansatz war im Config Server eine weitere Repo zu konfigurieren:
Die yml Datei sieht ca so aus:
Damit habe ich gehofft in der Konfigurationsklasse sowas machen zu können:
Ich habe es mit verschiedenen Annotations (wie @RefreshScope), Variationen für die Value Annotation und Datentypen versucht, kommt aber nichts an.
Vielleicht ist das auch nicht der richtige Ansatz, nur wenn der Config Server schon da ist, könnte man ihn auch hierfür verwenden. Meine nächste Überlegung jetzt ist es einen Custom Property Source zu implementieren und dadrin über GitLabApi die Werte aus der Datei zu holen. Ich habe aber das Gefühl, dass ich irgendwo auf der Leitung stehe und es eine deutlich einfachere Lösung geben müsste. Also bevor ich damit anfange:
Hat jemand einen Tipp für mich, was wäre eine passendere Lösung? 🙂
ich habe eine Fragestellung in der ich leider nicht weiterkomme. Gegeben ist ein Spring Projekt mit einigen Modulen, die als Microservices laufen. Eins davon ist ein Config Server, greift auf eine Gitlab Repo zu und holt die Einstellungen für die jeweiligen Modulen. Das funktioniert wunderbar.
Nun habe ich einen weiteren Gitlab Repo bekommen, woraus ich eine Datei auslesen sollte um die Werte dadrin als Klasse für die ganze Applikation bereit zu stellen.
Mein erster Ansatz war im Config Server eine weitere Repo zu konfigurieren:
Code:
server:
port: 8888
spring:
application:
name: configuration
cloud:
config:
server:
git:
uri: https://gtilaburl/config-repo.git
username: mustermann
password: 12345
repos:
myRepo:
pattern: my-repo
uri: https://gitlaburl/my-repo.git
username: johndoe
password: gummiente
Code:
- zone-ru:
urls:
- https://pii-ru-01.....com/vault
- https://pii-ru-02.....com/vault
proxy-urls:
- https://pii-ru-01.....com/pii-proxy
countries:
- ru
Java:
@Configuration
@Getter
public class ZonesConfiguration {
@Value("${my-repo.zone-ru.proxy-urls}")
private String proxies;
}
Vielleicht ist das auch nicht der richtige Ansatz, nur wenn der Config Server schon da ist, könnte man ihn auch hierfür verwenden. Meine nächste Überlegung jetzt ist es einen Custom Property Source zu implementieren und dadrin über GitLabApi die Werte aus der Datei zu holen. Ich habe aber das Gefühl, dass ich irgendwo auf der Leitung stehe und es eine deutlich einfachere Lösung geben müsste. Also bevor ich damit anfange:
Hat jemand einen Tipp für mich, was wäre eine passendere Lösung? 🙂