Wichtig
Detail
Wichtig
Detail
Wichtig
#27186
Context-lokale Umgebungsvariablen: Anwendungsproperties über JNDI belegen
Zur Zeit kann man Top-Logic nur über globale Java-System-Properties und globale Java-Umgebungs-Variablen von außen zusätzliche Eigenschaften mitgeben.
Es soll möglich sein, dies auch Kontext-lokal machen zu können, d.h. wenn in einem Container mehrere Anwendungen laufen, soll es möglich sein diese einzeln zu konfigurieren.
Anwendung
Es ist jetzt möglich in dem Namensraum "tl" JNDI-Variablen für die Anwendung mitzugeben. Diese werden wie System-Properties oder Umgebungsvariablen behandelt. Wird z.B. dem Tomcat für die Anwendung die Context-Datei (/var/lib/tomcat9/conf/Catalina/localhost/<context-name>.xml)
<Context> ... <Environment name="tl/tl_storage_path" value="/var/lib/tomcat9/work/myApp" type="java.lang.String" override="false" /> ... </Context>
mitgegeben, wird an den Stellen in der Konfiguration die Eigenschaft ${env:tl_storage_path} zu dem Wert "/var/lib/tomcat9/work/myApp" aufgelöst.
Man beachte hierbei, dass JNDI Variablen, mit denen TopLogic-Anwendungsproperties gefüllt werden sollen, mit dem Präfix "tl/" beginnen müssen.
Code-Migration
- Das Property "tl.developerMode" (mit dem ein System in den Entwicklermodus versetzt wird) wurde umbenannt in "tl_developerMode". Suchen und ersetzen.
Test
- BPE als Debian-Packet bauen und installieren.
- Erwartung: Die Bewegungsdaten liegen unter "/var/lib/tomcat9/work/bpe"
- Eine Modellübersetzung ändern.
- BPE de-installieren und wieder neu installieren
- Erwartung: Die neue Modellübersetzung ist noch vorhanden.