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_profile
o ambienti Tomcatsetenv.sh
-
Crea un parametro JVM (variabile di sistema) per la variabile di ambiente:aggiungi la seguente riga a
setenv.sh
prima 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}"