Se você deseja carregar a credencial de banco de dados dinamicamente. É possível apenas enquanto o Tomcat estiver carregando
context.xml
uma vez (porque o Tomcat lê a variável de ambiente apenas uma vez na inicialização). Observe que em tempo de execução, sempre que
contxt.xml
altere as recargas de aplicativos da Web relevantes. O Tomcat não é reiniciado. Portanto, o truque é fornecer credenciais de banco de dados como parâmetro/argumento da JVM, como o
${catalina.base}
acima Existem 3 etapas:
-
Declare e defina o valor para a variável de ambiente:
export DB_CREDENTIALS='*****'
Um bom lugar é no script de login do usuário do Tomcat.bash_profile
, ou ambientes Tomcatsetenv.sh
-
Crie um parâmetro JVM (variável do sistema) para a variável de ambiente:inclua a seguinte linha emsetenv.sh
antes da última linha.
-Denvironment.db.credentials=${DB_CREDENTIALS} \
-
Use/chame o parâmetro JVM declarado em context.xml. Por exemplo:
url="jdbc:postgresql://**********:****/${environment.db.credentials}"