Hi zusammen,
ich habe ein Klasse, die für die Verbindung zur Datenbank zuständig ist. Dafür habe ich eine Methode "getConnection()", welche mir immer ein intaktes Connection-Objekt liefern soll. Die Methode sieht folgendermaßen aus:
connection ist die lokale Variable.
Wenn ich nun viele SQL-Abfragen habe, fliegt mir irgendwas um die Ohren.
Exception in thread "Thread-4" java.lang.RuntimeException: java.lang.NullPointerException
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:106)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.abortInternal(ConnectionImpl.java:1240)
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:104)
Exception in thread "Thread-5" java.lang.RuntimeException: java.lang.NullPointerException
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:106)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.abortInternal(ConnectionImpl.java:1240)
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:104)
Es werden bei mir immer mehr Threads angelegt, aber ich finde den Fehler nicht. Ist die Überprüfung denn überhaupt in Ordnung, um eine korrekte Verbindung zu erhalten? Oder gibt es hier eine Alternative?
Gruß
Mike
ich habe ein Klasse, die für die Verbindung zur Datenbank zuständig ist. Dafür habe ich eine Methode "getConnection()", welche mir immer ein intaktes Connection-Objekt liefern soll. Die Methode sieht folgendermaßen aus:
connection ist die lokale Variable.
Code:
public Connection getConnection() {
try {
// If connection is not valid
if (connection == null || !connection.isValid(5)) {
System.out.println("Es wird eine neue Verbindung zur Datenbank erstellt");
// Create new connection
connection = DriverManager.getConnection(connectionUrl, username, password);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
connection = null;
}
return connection;
}
Wenn ich nun viele SQL-Abfragen habe, fliegt mir irgendwas um die Ohren.
Exception in thread "Thread-4" java.lang.RuntimeException: java.lang.NullPointerException
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:106)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.abortInternal(ConnectionImpl.java:1240)
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:104)
Exception in thread "Thread-5" java.lang.RuntimeException: java.lang.NullPointerException
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:106)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.abortInternal(ConnectionImpl.java:1240)
at com.mysql.jdbc.JDBC4Connection$1$1.run(JDBC4Connection.java:104)
Es werden bei mir immer mehr Threads angelegt, aber ich finde den Fehler nicht. Ist die Überprüfung denn überhaupt in Ordnung, um eine korrekte Verbindung zu erhalten? Oder gibt es hier eine Alternative?
Gruß
Mike