io sono sempre un po 'confuso, stavo leggendo il seguito da http://en.wikipedia.org/wiki/Java_Database_Connectivitychiusura Connessioni di database in Java
Connection conn = DriverManager.getConnection(
"jdbc:somejdbcvendor:other data needed by some jdbc vendor",
"myLogin",
"myPassword");
Statement stmt = conn.createStatement();
try {
stmt.executeUpdate("INSERT INTO MyTable(name) VALUES ('my name') ");
} finally {
//It's important to close the statement when you are done with it
stmt.close();
}
Non ti necessario chiudere la connessione conn? Cosa sta succedendo veramente se conn.close() non si verifica?
Ho un'app web privata che sto mantenendo che attualmente non chiude nessuna delle due forme, ma è quella importante davvero quella stmt, quella conn o entrambe?
Il sito continua ad andare giù a intermittenza ma il server continua a dire che si tratta di un problema di connessione al database, il mio sospetto è che non sia stato chiuso, ma non so se chiuderlo.
Un aiuto fantastico, grazie! Non ho preso o pensato alle dichiarazioni conn! = Null. – onaclov2000
@ onaclov2000 Sì, 'rs',' ps', 'conn' potrebbe essere' null' a seconda di dove si rompe il codice. Ecco perché questo è noto come il modello "sicuro". –
@Pascal Thivent: in realtà non è necessario chiuderli tutti. Il libro "Core Java Volume due - Funzioni avanzate" ha scritto: Il metodo 'close' di un oggetto' Statement' chiude automaticamente il 'ResultSet' associato se l'istruzione ha un set di risultati aperto. Allo stesso modo, il metodo 'close' della classe' Connection' chiude tutti 'Statements' di' Connection'. –