Se vuoi caricare la credenziale DB in modo dinamico. È possibile solo per il tempo in cui Tomcat sta caricando context.xml una volta (perché Tomcat ha letto la variabile di ambiente solo una volta all'avvio).
Si noti che in fase di esecuzione, ogni volta che contxt.xml modificare le ricariche delle applicazioni Web pertinenti. Tomcat non viene riavviato.
Quindi il trucco è fornire le credenziali DB come parametro/argomento JVM, come il ${catalina.base} sopra
Ci sono 3 fasi:
-
Dichiara e imposta il valore della variabile di ambiente:
export DB_CREDENTIALS='*****'Un buon posto è nello script di accesso utente di Tomcat
.bash_profileo ambienti Tomcatsetenv.sh -
Crea un parametro JVM (variabile di sistema) per la variabile di ambiente:aggiungi la seguente riga a
setenv.shprima dell'ultima riga.-Denvironment.db.credentials=${DB_CREDENTIALS} \ -
Utilizzare/chiamare il parametro JVM dichiarato in context.xml. Ad esempio:
url="jdbc:postgresql://**********:****/${environment.db.credentials}"