Bonsoir,
Je réalise une application web(struts, glassfish) devant se connecter a plusieurs types de base de données, j'ai donc réalisé le schéma suivant:
Interface CatalogBDD qui contient des méthodes pour exécuter une requête, un update, un insert.
Une factory factoryConnexion qui contient une méthode permettant de récupérer selon le type demandé(oracle,...) un objet de type CatalogBDD.
J'ai plusieurs classes qui implémentent CatalogBDD et leur constructeur qui va etre appellé par la factory ressemble a ceci
L'inconvénient de cette méthode, donc avec un singleton si je ne me trompe pas, c'est lorsque je demande une connexion alors que je n'ai pas fini d'exploiter un resultSet d'une précédente connexion. Tout se passe bien jusqu'à temps que je retourne dans mon précèdent resultSet qui provoque une exception resultSet is closed...
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 private static Connection maco; public OracleConnexion() { try { if(maco == null) getConnec(); myStat = maco.createStatement(); } catch (SQLException ex) { Logger.getLogger(OracleConnexion.class.getName()).log(Level.SEVERE, null, ex); } } public void getConnec() { this.jdbc = ""; this.username = ""; this.password = ""; try { Class.forName("oracle.jdbc.OracleDriver"); maco = DriverManager.getConnection(jdbc, username, password); } catch (SQLException ex) { Logger.getLogger(OracleRequest.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(OracleRequest.class.getName()).log(Level.SEVERE, null, ex); } }
Ma méthode est elle tout de même correcte ou complément mer**que.
Car je vois pas comment utilisé un pool de connexion...
Merci pour votre aide !!!!







Répondre avec citation





)

Partager