Para um dos nossos aplicativos da web, usamos o carregamento dinâmico de arquivos de propriedades com base no ambiente no tomcat.
No tomcat, definimos a variável de ambiente -Dcustom.env.name = "produção" e, assim, com base no ambiente, os arquivos de propriedades correspondentes são selecionados e carregados por meio do PropertyPlaceholderConfigurer do Spring.
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc_${custom.env.name}.properties</value>
<value>classpath:configuration_${custom.env.name}.properties</value>
</list>
</property>
</bean>
Agora, por algum motivo, queremos ter o custom.env.name propriedade a ser especificada através de outro arquivo de propriedades localizado no sistema de arquivos, fora do arquivo war. Qual é o caminho para conseguir isso com menos alterações de código.
Respostas:
0 para resposta № 1Usar catalina.properties
para ler esta propriedade.