Hej Eksperter, Jeg har et problem med at rydde op i antallet af forbindelser der laves. Jeg bruger følgende kode:
public Connection getConnection() throws DatabaseException { try { setConfigurationProperties(); Class.forName(this.getDatabaseDriver()); return DriverManager.getConnection(this.getDatabaseURL(), username, password); } catch (ClassNotFoundException e) { log.fatal("JdbcDataManager() failed to construct" + escapeQuotes(e.getMessage())); throw new DatabaseException("JdbcDataManager() failed to construct", e); } catch (SQLException e) { log.fatal("JdbcDataManager() failed to construct" + escapeQuotes(e.getMessage())); throw new DatabaseException("JdbcDataManager() failed to construct", e); } }
public void closeConnection() { // if (statement != null) { // try { // statement.close(); // close the statement after you're finnished with it // } catch (SQLException e) { // log.error("SQLException when closing statement: " + escapeQuotes(e.getMessage())); // } // statement = null; // } if (connection != null) { try { connection.close(); // close the connection after you're finnished with it } catch (SQLException e) { log.error("SQLException when closing connection: " + escapeQuotes(e.getMessage())); } connection = null; } }
Selvom jeg bruger finally lader det ikke til jeg får lukket mine connections - kan det have noget at gøre med at min select funktion returnere et ResultSet ? Jeg bruger klassen med disse funktioner som en simpel adgang til min mysql database.
jo, måske. Men du opnår viden ved at se, om det hjælper at rette i antal forbindelser i mysql. Jeg har ikke nærlæst programmet, men jeg ville have en finalize, som lukker forbindelsen, når objektet dør. Dvs noget i denne stil
jeg tester single threaded, men det underlige er at jeg ikke løber tør for connection når jeg tester det hele lokalt på min egen maskine men kun når jeg tester på det hostede domæne?????? Det lader til fejlen først indtræffer når jeg connecter med to computere med forskellige ip'er
nej det gør jeg ikke - jeg ville tro omkring 50 - 100 quiries bliver logget men det jeg forstår er at det virker fint på min lokale maskine med max 100 men ikke på den hostede - og det tyder på det går galt så snart en ny client logger på?
Jeg har engang fået fejlen - databasen var på en ramdisk, og jeg havde "opbrugt" alt på disken. Det kan ikke være en lignende fejl (alt harddisk brugt)?
jeg kan se på phpmyadmin at der er løbende nye processes der tilføjes hver gang jeg bevæger mig rundt på siden(kontakter db'en) - er det det samme som connections ikke bliver lukket?
hej igen ENDELIG fandt jeg fejlen - forkert genstartet server. Tak for hjælpen :0)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.