2012-09-20 3 views
1

Nous avons une application struts-hibernate-mysql s'exécutant sur tomcat. Nous souhaitons avoir la même base de code pour l'application, mais nous souhaitons que l'application se connecte dynamiquement à différentes bases de données en fonction de l'utilisateur qui se connecte au système.Connexion à plusieurs bases de données via une seule application struts - hibernate

Fondamentalement, nous aimerions avoir différentes bases de données pour chaque école différente. La base de données pour chaque école serait grande d'où nous avons décidé d'avoir une base de données distincte pour chaque école, mais la base de code Java doit être la même. Par conséquent, nous ne souhaiterions pas que plusieurs instances de l'application Web soient déployées sur Tomcat, mais une seule application devrait pouvoir se connecter à différentes bases de données en fonction de la personne qui se connecte.

Comment cela peut-il être réalisé.

Kalpak

Répondre

0

Une meilleure conception modèle de domaine serait la meilleure approche.

Sinon, je créerais plusieurs sources de données (en utilisant des pools bien sûr) et aurais plusieurs usines de sessions de mise en veille prolongée (ou des gestionnaires d'entités en fonction de votre version d'hibernation).

Vous pouvez conserver une carte contenant la clé d'une école mappée à sa fabrique de sessions. Lorsque vous exécutez votre code, obtenez la bonne usine pour l'école.

+0

Si nous utilisons c3p0, l'approche ci-dessus serait-elle toujours applicable. – Kalpak

+0

Oui, il devrait. – ramsinb

+0

Merci beaucoup. Je vais vérifier et puis revenir avec la requête si j'en ai un. Encore merci beaucoup. – Kalpak

Questions connexes