Verbesserung
Top-Thema
Detail
Wichtig
Detail
Wichtig
#25925
"Echtes" Overlay als Deployment-Konfiguration
Über das configFile-Property kann man eine XML-Konfiguration angeben, die beim Start der Anwendung als letzte überladene Konfiguration geladen werden soll. Hierüber kann man ein Konfigurationfragment in einer deployten Anwendung "von außen" einschleusen, um die Konfiguration an die Umgebung anzupassen.
Über diese Variante ist es nicht möglich, auf einfache Weise die Datenbankanbindung umzustellen, weil vordefinierte Konfigurationsschnipsel wie db-mysql.xml o.ä. so nicht geladen werden können.
Verbesserung
Statt eine XML Datei zu referenzieren, sollte man besser ein Konfigurationsverzeichnis referenzieren, das eine metaConf.txt-Datei enthält. In dieser Datei können dann entweder deploymentlokale Konfigurationsdateien im selben Verzeichnis referenziert werden, oder von der Anwendung mitgelieferte Konfigurationsfragmente geladen werden.
Die Umgebungsvariable configFile ist zu allgemein, so dass es Clashes geben kann mit anderen Umgebungsvariablen. Stattdessen soll tl_config benutzt werden.
Das Property project.developer soll entfallen. Stattdessen kann in den Eclipse-Einstellungen die Umgebungsvariable tl_config mit einem entwicklerlokalen Konfigurationsverzeichnis belegt werden (das auch nicht mehr mit eingecheckt werden soll).
Code-Migration
- Der Name der Umgebungsvariable configFile heißt jetzt tl_config. **Dies benötigt insbesondere eine Migration auf installierten Systemen.**
- Die Option den Namen der Konfigurationsdatei über das Property <ContextName>.<ApplikationsName>.configFile zu bestimmen ist entfallen. Statt dessen muß das Property <ContextPfad>_tl_config benutzt werden. Läuft die Anwendung z.B. auf localhost:8080/myApp so muss die Property myApp_tl_config benutzt werden. Wenn die Anwendung auf Root läuft (also z.B.localhost:8080/) muss ROOT_tl_config benutzt werden. **Dies benötigt insbesondere eine Migration auf installierten Systemen.**
- Die Option den Namen der Konfigurationsdatei über das Property <ApplikationsName>.configFile zu bestimmen ist entfallen. Auch hier muss das Property <ContextPfad>_tl_config benutzt werden. **Dies benötigt insbesondere eine Migration auf installierten Systemen.**
- Das Property project.developer ist entfallen. Wenn der Entwickler eine spezielle Konfiguration benötigt, kann diese Konfigurationsdatei in einen Ordner außerhalb des WS gelegt werden und in den JRE-Argumenten von Eclipse ein Eintrag -Dtl_config=<pfadZurConfig> hinzugefügt werden. Wird für ein bestimmtes Projekt eine noch speziellere Datei benötigt, kann dies auch hier angegeben werden. Ist z.B. Prime über den Context-Pfad /pmt erreichbar, kann mit -Dpmt_tl_config=<pfadZurPrimeConfig> für Prime eine andere Datei benutzt werden.
- Gelöschte Konfigurationen: r303502.
Test
TestMultiProperties#testAdditionalConfigFolder()