Hvis du vil indlæse DB-legitimationsoplysningerne dynamisk. Det er kun muligt i den tid, Tomcat indlæser context.xml
én gang (fordi Tomcat kun læste miljøvariabel én gang ved opstart).
Bemærk, at under kørsel, når contxt.xml
ændre de relevante genindlæsninger af webapplikationer. Tomcat er ikke genstartet.
Så tricket er at levere DB-legitimationsoplysninger som JVM-parameter/argument, som ovenstående ${catalina.base}
Der er 3 trin:
-
Deklarer og indstil værdi til miljøvariablen:
export DB_CREDENTIALS='*****'
Godt sted er ved Tomcats brugerlogin-script
.bash_profile
, eller Tomcat-miljøersetenv.sh
-
Opret en JVM-parameter (systemvariabel) for miljøvariabel:tilføj følgende linje til
setenv.sh
før sidste linje.-Denvironment.db.credentials=${DB_CREDENTIALS} \
-
Brug/kald den erklærede JVM-parameter i context.xml. For eksempel:
url="jdbc:postgresql://**********:****/${environment.db.credentials}"