Оставьте существующие глобальные server.xml
и /MATA-INF/context.xml
без изменений, добавьте следующий JNDI в /WEB-INF/web.xml
веб-приложения:
<resource-ref>
<res-ref-name>jdbc/onejndi</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Затем в кодах своего приложения вы можете получить доступ к БДпул соединений по java:comp/env/jdbc/onejndi
.
Это не проблема, поскольку имя JNDI jdbc/onejndi
в MATA-INF/context.xml
и /WEB-INF/web.xml
одинаково для всех сред. Свойства соединения с БД (имя хоста, имя пользователя, пароль и т. д.).) которые различны в каждой среде, могут быть настроены в $CATALINA_BASE/conf/server.xml
, который не упакован в WAR.
Это означает, что вы можете создать WAR один раз и развернуть его в разных средах.