A configuração do banco de dados usando DataSource que foi feita no capítulo 13 fica no arquivo WEB-INF/spring-context.xml
que, quando empacotarmos nosso projeto Web, ficaria dentro do WAR.
Mas como fazemos então para modificar o endereço IP do BD, o usuário e senha em produção? Será que o analista de infra vai ter que abrir o WAR, modificar o spring-context.xml
e compactar de novo?
Não! Existe um mecanismo chamado JNDI, que nos permite externalizar as configurações.
No spring-context.xml
, para fazer a configuração do DataSource ser externalizada, repare na linha:
<jee:jndi-lookup
id="dataSource"
jndi-name="java:comp/env/jdbc/dataSource" />
O endereço do BD vai parar lá no Tomcat, no arquivo context.xml
que fica no diretório conf
:
Como a configuração do BD passa a ficar no tomcat/conf/context.xml
, não seria necessário alterar mais o WAR. E, na verdade, provavelmente a configuração só seria feita uma vez: logo após a instalação do Tomcat.