Ich verwende DbUtils-Bibliothek mit QueryRunner-Klasse, um meine Abfragen auszuführen. Aus meiner Unterschätzung der DbUtils-Dokumentation muss ich mir keine Gedanken über das Schließen von Verbindungen machen. Aus irgendeinem Grund schließt es meine Verbindungen nicht automatisch oder sogar manuell. Hier ist mein Code:Verwenden von DbUtils QueryRunner schließt Datenbankverbindungen nicht
public static DataSource createDataSource() {
BasicDataSource d = new BasicDataSource();
d.setDriverClassName(Globals.getInstance().getKonfiguracija().dajPostavku("driver"));
d.setUsername(Globals.getInstance().getKonfiguracija().dajPostavku("dbUsername"));
d.setPassword(Globals.getInstance().getKonfiguracija().dajPostavku("dbPassword"));
d.setUrl(Globals.getInstance().getKonfiguracija().dajPostavku("serverDatabase"));
return d;
}
public static void insertSQL(String sql)
{
DataSource dataSource = createDataSource();
QueryRunner qr = new QueryRunner(dataSource);
try {
int inserts = qr.update(sql);
qr.getDataSource().getConnection().close();
} catch (SQLException ex) {
Logger.getLogger(DBController.class.getName()).log(Level.SEVERE, null, ex);
}
}
Da im Gewinde, die periodisch InsertSQL Methode aufruft, nach einiger Zeit, die ich „Zu viele Verbindungen“ Fehler. Ich benutze die neueste Version von Tomcat und Datenbank ist MYSQL.
Es könnte helfen, Ill es ausprobieren, thx – Selfcoded