Acesso a múltiplos bancos de dados

Oi pessoal.

Seguinte, meu problema é simples de descrever:

Tenho vários bancos de dados (todos com a mesma estrutura) porém pertencentes a unidades diferentes da empresa para a qual estou desenvolvendo o sistema.

O que eu preciso é me conectar a um ou a outro (o servidor web tem acesso a todos via internet).

Preciso que essa escolha ao banco de dados seja feita dentro da aplicação, ou quando o usuário estiver logando, ou quando necessitar acessar dados de outra filial da empresa.

Ou seja, eu preciso que minha aplicação gerencie vários bancos de dados. Como todos têm a mesma estrutura as classes de persistência, DAO, serviço serão as mesmas.

Meu cenário é: para acessar um banco de dados uso pool de conexões do glassfish, um JNDI conectado a esse pool de conexões.

To usando Spring, logo no applicationContext.xml tenho um DataSource da classe org.springframework.jndi.JndiObjectFactoryBean conectando-se ao JNDI criado no glassfish.

A esse DataSource se conecta um SessionFactory que por sua vez é injetado em meus DAOs.

Estou usando o modelo OpenSessionInView por meio de um filtro da classe org.springframework.orm.hibernate3.support.OpenSessionInViewFilter, que filtra todas as requisições JSF.

Por favor, se alguém tiver uma dica, me ajuda.

Isso é pra ontem!

rs.

Desde já agradeço.

:wink:

De uma procurada em multi tenancy, não sei se o spring tem suporte, mas é isso o que você procura.
Espero ter ajudado.