[Spring] DriverManagerDataSource setar URL em runtime.[Resolvido]

1 resposta
R

Fala galera,

Estou começando um projeto utilizando integração com Spring. No index do projeto o usuário escolheria em qual “cliente” ele irá logar. Cada cliente possuirá um banco diferente, então quando o usuário escolher o cliente o urlBD seria o nome padrão do banco mais o código do cliente. Sendo assim eu só posso setar a url do DriverManagerDataSource, depois do sistema iniciado e o applicationContext.xml já ter rodado. Como setar isso em tempo de execução?

1 Resposta

R

Consegui resolver essa questão

Tenho que utilizar vários dataSources isso não tem jeito. Daí criei um dataSource abstrato e vários extendendo dele mudando somente a url. Implenetei uma classe extendida de AbstractRoutingDataSource, na qual você define um critério para saber qual dataSource usar. Jogo uma variavel de contexto para cada cliente então quando o usuário loga ele precisa dessa variável e crio um mapa no bean que pega esse valor e seta o dataSource correto. Caso tenha fica confuso e alguem tenha alguma dúvida, podem mandar PM.

Abraços

Criado 6 de outubro de 2011
Ultima resposta 6 de out. de 2011
Respostas 1
Participantes 1