Ich würde gerne die context.xml eines Web-Projekts parametrisieren. Hintergrund ist, dass das Projekt auf einem Entwicklungs- und auf einem Produktivserver deployed werden soll, die beiden Versionen aber mit verschiedenen Datenbanken arbeiten sollen. In der context.xml wird prinzipiell die DB-Verbindung konfiguriert. Darin sollen nun aber Variablen/Parameter/Platzhalter vorkommen, die durch einen Wert, der auf dem Server definiert wird, ersetzt werden. Ich habe bereits ein wenig gesucht und folgendes ausprobiert:
Ich habe die Zeile
in die Datei catalina.properties hinzugefügt.
In der context.xml wird jetzt folgender Realm definiert:
In der Logdatei finde ich jedoch folgendes:
org.postgresql.util.PSQLException: FATAL: database "${DBVAL}" does not exist
Offensichtlich wird ${DBVAL} nicht ersetzt, so wie ich es erwartet hätte. Wie kann ich ein solches Verhalten erreichen?
Ich habe die Zeile
Code:
DBVAL=mydb_dev
In der context.xml wird jetzt folgender Realm definiert:
Code:
<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="org.postgresql.Driver" connectionURL="jdbc:postgresql://myserver:5432/${DBVAL}" connectionName="xxx" connectionPassword="yyy" userTable="users" userRoleTable="roles" userNameCol="name" userCredCol="pw" roleNameCol="role" digest="MD5" />
org.postgresql.util.PSQLException: FATAL: database "${DBVAL}" does not exist
Offensichtlich wird ${DBVAL} nicht ersetzt, so wie ich es erwartet hätte. Wie kann ich ein solches Verhalten erreichen?
Comment