Вы можете сделать это лучше.
В нашем случае у нас были разные базы данных для разных профилей, такие как dev, UAT, pre-prod, поддержка и т. Д.
Итак, что я сделал, я поместил свой context.xml в его расположение по умолчанию <TOMCAT_HOME>/conf
.
В конфигурации ресурса context.xml было следующее:
<Resource name="jdbc/someDS"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="${appName.db.url}"
username="${appName.db.user}"
password="${appName.db.password}"
maxActive="30"
maxIdle="10"
defaultAutoCommit="true"
maxWait="-1"/>
Я создал три сервера Tomcat - server-dev, server-uat, server-support
и передал соответствующие значения для каждой базы данных в аргументах vm tomcat в конфигурации сервера tomcat eclipse / intellij (как показано ниже):
-DappName.db.url=jdbc:oracle:thin:@<DB_SERVER>:1521:<SID> -DappName.db.user=DB_USER -appName.db.password=DB_PASSWORD
Преимущество заключается в том, что разработчикам не нужно каждый раз менять базу данных, им просто нужно запустить конкретный сервер. Это было очень удобно и сэкономило много времени при разработке.