Caros, boa tarde!
Vejam se podem me ajudar:
Tenho um sistema em JAVA JEE usando puramente Servlet e JSP, o qual possuí arquivos ?.properties? para configurar e internacionalizar a aplicação.
Atualmente preciso gerar um DEPLOY para cada ambiente (Produção, Homologação, Teste e Desenvolvimento), pois os arquivos .properties possuem dados específicos a cada um. Entretanto está é uma atividade inviável ao cliente, pois o controle de versão é maior a os programadores envolvidos no mesmo ficam cada vez mais passivos de erros. Ex.: Fazer alterações em .properties de desenvolvimento e esquecer de replicar para os demais ambientes, entre outros.
Eu preciso gerar um único DEPLOY e para isso, precisaria que estes arquivos ?.properties? estivessem em um diretório físico em cada ambiente, e a aplicação referenciasse eles. Ou seja, não faria mais parte dos DEPLOYES.
Atuamente, a grosso modo funciona assim:
.JSP => TagLib.tld => Classe.java => java.util.ResourceBundle.java => getData("bundle");
Onde ?bundle? é o nome que referencia o ProjetoBundle_pt_BR.properties.
Porém, em momento algum há o endereço do ?ProjetoBundle_pt_BR.properties? explicito. Ele assume que está no classpath da aplicação.
Há alguma maneira de fazer isso sem mudar muito a arquitetura do sistema?
Digo isto porquê pelo que pesquisei, há uma maneira usando a classe ?java.util.Properties? e seu método ?load(new FileInputStream(?<endereco do arquivo>?));?, más não quero mudar a classe, precisaria continuar com a Bundle.
Alguma sugestão de como posso resolver isto?
Agradeço desde já!
Bruno Ambrozio.
Twitter: @bambrozio.
Skype: b.ambrozio
MSN: b.ambrozio@hotmail.com
E-mail/G-talk: b.ambrozio@gmail.com