Overload af connections?
Hej Alle.Jeg har et javaprogram der kører nogle opdateringer i en database. Det drejer sig om en main klasse jeg eksekverer der så kører x antal gange - hver gang laver den en connection til en database og henter noget data ind. I main klassen bliver der også kørt en anden klasse der tilsvarende opretter forbindelse. Jeg har renset lidt ud i koden og skelettet for de to klasser ses her:
//Main class
ResultSet rs = null;
try Class.forName("com.mysql.jdbc.Driver");
catch(Exception e) System.out.println(e.getMessage());
while (blabla) {
try {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/database", "login", "password"); <--- Fejlen peger på denne linie.
Statement stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM table WHERE id>"+x+" ORDER BY id LIMIT 1");
while(rs.next()) {
rs = stmt.executeQuery("SELECT * FROM players WHERE klub =" + teamId + "");
while(rs.next()) {
try stmt.executeUpdate("UPDATE table SET values");
catch(Exception e) System.out.println(e);
}
}
} catch(Exception e) System.out.println(e);
}
// Klasse der bliver kaldt inde i main hver gang.
public Trainer(int t, int teamId) {
team = t;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/database", "login", "password");
Statement stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM table LIMIT 1");
while (rs.next()) {
}
} catch (Exception e) {
}
}
Mit problem er at sidst jeg kørte dette opstod der denne fejl http://www.trophymanager.com/javafejl.gif hvor der bliver peget på den første connection i main klassen som problemet. Det skete forholdsvis konsekvent efter hvert 600-650 gennemløb. Her stoppede javaprogrammet og databaseserveren gik kort ned. Jeg ved ikke hvilken rækkefølge. Hvis der er nogen der har noget hjælpe til at forhindre dette vil det være meget belejligt. På forhånd tak.