2010-07-26 5 views
0

Bonjour à tous, Je construis une application Java de base dans laquelle j'ai 20 bases de données et je veux me connecter à chacune d'entre elles en fonction de la demande d'accès à la base de données.Quelle architecture suivre pour se connecter à plusieurs bases de données

Je souhaite me connecter aux bases de données une seule fois depuis l'endroit où je peux sélectionner la connexion et revenir; veuillez suggérer quel type d'architecture suivre.

Répondre

2

Vous devez conserver une liste de pools de connexions.

Je voudrais utiliser une carte < chaîne, ConnectionPool>, où la clé est l'ID de connexion. Lorsque vous avez besoin d'une connexion, vous le prenez de cette carte:

Connection connectionDbAccounts = connectionMap.get("accounts").getConnection(); 
// Use connectionDbAccounts... 
connectionDbAccounts.close(); 
0

Utilisez un HashMap < Lieu, DatabaseConnection >?

+1

Non, s'il vous plaît, ne maintenez pas une connexion ouverte, utilisez plutôt un pool de base de données. – helios

+1

Le maintien d'une connexion ouverte, l'utilisation d'un pool ou l'ouverture d'une nouvelle connexion pour chaque requête dépendent d'autres facteurs. Ce que je ne devinerais pas à partir de cette déclaration de problème. – ced