Pokud chcete načíst přihlašovací údaje DB dynamicky. Je možné pouze po dobu, kdy Tomcat načítá context.xml jednou (protože Tomcat čte proměnnou prostředí pouze jednou při spuštění).
Všimněte si, že za běhu, kdykoli contxt.xml změnit znovu načtení příslušné webové aplikace. Tomcat není restartován.
Takže trik je doručit přihlašovací údaje DB jako parametr/argument JVM, jako je výše ${catalina.base}
Existují 3 fáze:
-
Deklarujte a nastavte hodnotu proměnné prostředí:
export DB_CREDENTIALS='*****'Dobrým místem je přihlašovací skript uživatele Tomcat
.bash_profile, nebo prostředí Tomcatsetenv.sh -
Vytvořte parametr JVM (systémovou proměnnou) pro proměnnou prostředí:přidejte následující řádek do
setenv.shpřed posledním řádkem.-Denvironment.db.credentials=${DB_CREDENTIALS} \ -
Použijte/zavolejte deklarovaný parametr JVM v kontextu.xml. Například:
url="jdbc:postgresql://**********:****/${environment.db.credentials}"