Minha fonte de aplicativo suas configurações de fonte de dadosde um arquivo de propriedades. Quando inicio o Tomcat, eu carrego o arquivo de propriedades, faço alterações nele, dependendo do ambiente em que o Tomcat está sendo executado, geralmente UAT ou Production - e base nessa passagem os valores de Configuração apropriados requerem para a conexão com o Banco de Dados.
Meu problema é, quando o arquivo de propriedades éatualizado no bootstrap pela primeira vez com os novos valores de conexão, no tomcat - Spring sessionFactory não parecem adquirir os valores atualizados atuais e, portanto, acabam com a exceção de conexão do banco de dados. Mas quando eu reiniciar o Tomcat, o sessionFactory agora terá acesso aos valores atualizados.
Minha pergunta é - alguém sabe por que sessionFactory só funciona com os valores anteriores como opostos aos valores de configurações atualizadas?
Respostas:
0 para resposta № 1Eu acho que a única maneira é reiniciar o tomcat,porque a conexão cria no contexto da primavera. O contexto de primavera é criado no início. Quando você altera algo no arquivo de propriedades, na verdade ele não influencia no contexto da primavera, porque ele já está criado.
0 para resposta № 2
Usei o Maven Filter para substituir as propriedades do perfil no momento da criação.