Bonjour à tous.
Je vous présente mon petit soucis.
Actuellement nous avons une IHM qui tourne en prod avec un getConnection dans mon connectionManager tel que
Derrière l'appli est déployée sur un jonas. Alors j'ai un gros soucis et plusieurs question. Le soucis est relativement urgent donc je cherche une solution rapide et simple et une plus stable pour le long terme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 protected static final Connection getConnection() throws ApplicationException { try { DatabaseDaoManager daoManager = DatabaseDaoManager.getInstance(); // Création du pool de connection if (daoManager.dbConnectionPool == null) { // Construction du pool OracleConnectionPoolDataSource ods = new OracleConnectionPoolDataSource(); ods.setURL(daoManager.getDbUrl()); ods.setUser(daoManager.getDbUserName()); ods.setPassword(daoManager.getDbUserPassword()); // ods.setMaxStatements(daoManager.getDbMaxConnection()); // ods.setCacheScheme(oracle.jdbc.pool.OracleConnectionCacheImpl.DYNAMIC_SCHEME); // On affecte le pool daoManager.dbConnectionPool = ods; daoManager.pooledConnection = ods.getPooledConnection(); } // On retourne une connection du pool // return daoManager.dbConnectionPool.getConnection(); return daoManager.pooledConnection.getConnection(); } catch (SQLException sqle) { LOGGER.error("[getConnection] Erreur lors de l'initalisation du pool", sqle); throw new ApplicationException(990007, sqle); } }
Le soucis est que plusieurs utilisateurs l'utilisent en meme temps et au bout d'une moment la connexion ne se fait plus. En gros l'appliu ne répond plus te le logs sont arretée. L'execustion s'arrete sur le gestionnaire de base.
Première question : je ne connaissait pas la solution utiulisée ci dessus. Est une bonne solution ? De plus je ne connais que le simple singleton getConnection(). Serait ce une solution acceptable pour une appli utilisée par une dixaine de personne en simultanée ?
Et pour le long terme, le mieux c'est quoi ?
J'ai beau parcourir les tutos et les FAQ, je m'y perd. Un petit coup de pouce ne serait pas de refus.








Répondre avec citation


Partager