2
respostas

Multi-Tenancy com VRAPTOR4 CDI

Amigos,

Gostaria de uma orientação de como posso implementar um sistema com VRaptor4 executando em Wildfly e Hibernante fazendo Multi-Tenancy por banco. Já busquei no GUJ, mais ainda não localizei nada onde pudesse me guiar.

Seria interessante algum curso aqui com esse tipo de abordagem!

Já assisti praticamente todos relacionados a JPA e não consegui informação a respeito.

Desde já obrigado pela ajuda!

2 respostas

Oi Adalto, tudo bem?

O hibernate, desde a versão 4.2, vem com o suporte alguns estilos => https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch16.html#d5e4780. O problema é que a solução não ta linkado nada da web...

O VRaptor 4 realmente não tem nada pronto... Na minha cabeça, você precisaria ter um @Producer que fosse criando EntityManagerFactory em função do cliente, isso se o approach for de bancos de dados separados.

Se o approach for todo mundo na mesma tabela, passa como argumento em tudo que é método o id do cliente. Essa aqui é a mais fácil.. não tem mágica, passa o cliente como argumento e coloca na query.

Oi Alberto, tudo certo! Obrigado pelo retorno.

Cara seria o primeiro approach, com bases separadas. Gostaria de uma outra ajuda, não sou muito expert em VRaptor... como posso fazer para criar o @Producer do EntityManagerFactory, como poderia passar o parâmetro do meu cliente para ele.

Imaginei um cenário onde passo o meu "persistence-unit name" e o @Producer cria meu EntityManager de acordo com a unit desejada, porém não sei como posso passar esse parâmetro, uma vez que o CDI injeta ele. Eu teria que de alguma forma realizar a criação dele manualmente? Poderia me dar um help? Meu raciocínio está correto?