getConnection() liefert null

G

Gast2

Gast
Hi,
ich habe bei meiner Anwendung das Problem dass ich abundzu keine Verbindung zur Datenbank bekomme.

Mein Code sieht so aus (Klasse DBConnector) :
Java:
public static synchronized void init() throws SQLException, ClassNotFoundException {
    // DB Einstellungen laden
    host = Settings.getString("DATABASE", "host");
    port = Settings.getInt("DATABASE", "port");
    user = Settings.getString("DATABASE", "user");
    password = Settings.getString("DATABASE", "password");
    database = Settings.getString("DATABASE", "databasename");
    autoReconnect = Settings.getBoolean("DATABASE", "autoreconnect");

    try {
        // Treiber laden
        Class.forName("com.mysql.jdbc.Driver").newInstance();
    } catch (IllegalAccessException iae) {
        logger.error(null, iae);
    } catch (InstantiationException ie) {
        logger.error(null, ie);
    }

    // Datasource konfigurieren
    dataSource = new BasicDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUsername(user);
    dataSource.setPassword(password);
    dataSource.setUrl("jdbc:mysql://" + host + ":" + port + "/" + database + (autoReconnect ? "?autoReconnect=true" : ""));
    dataSource.setTimeBetweenEvictionRunsMillis(1000);
    dataSource.setTestOnBorrow(true);
    dataSource.setValidationQuery("SELECT 1;");
    dataSource.setMaxWait(1000);

    // Verbindung testen
    testConnection(host, port, user, password);
    logger.info("Datenbankverbindungen aufgebaut");
}
Das ist meine Konfiguration, die beim Programmstart einmal gesetzt wird.
Wenn jetzt ein Programmteil eine Verbindung braucht besorgt er sich die mit folgender Methode:
Java:
public static Connection getConnection() {
    synchronized (monitor) {
        Connection con = null;
        try {
            con = dataSource.getConnection();
        } catch (SQLException sqle) {
            try {
                /* Ein Retryversuch */
                con = dataSource.getConnection();
            } catch (SQLException aqle2) {
                logger.error("Fehler beim Verbinden zur Datenbank", sqle2);
                logger.debug("Username: " + dataSource.getUsername());
                logger.debug("Password: " + dataSource.getPassword());
                logger.debug("URL: " + dataSource.getUrl());
                logger.debug("Treiber: " + dataSource.getDriverClassName());
            }
        }
        return con;
    }
}

Kann sich jemand vorstellen warum es da zu Problemen kommen kann?

EDIT:
Hier noch die Exception:
org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at cnc.database.DbConnector.getConnection(DbConnector.java:95)
at cnc.application.rules.RuleManagerView.updateRuleTable(RuleManagerView.java:94)
at cnc.application.rules.RuleManagerView.newRule(RuleManagerView.java:209)
at cnc.application.rules.RuleManagerView.access$000(RuleManagerView.java:35)
at cnc.application.rules.RuleManagerView$3.actionPerformed(RuleManagerView.java:141)

Gruß,
Eike
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Sry für Doppelpost, aber da is anscheinend irgendwie nen Beitrag verloren gegangen?!

Firestorm87 hat auf das Thema 'getConnection() liefert null' im Forum 'Datenbankprogrammierung' bei java-forum.org geantwortet.

Dieses Thema ist hier zu finden:
http://www.java-forum.org/datenbankprogrammierung/95238-getconnection-liefert-null-new-post.html

Dies ist der Beitrag, der gerade geschrieben wurde:
***************
Ich würde mir mal anschauen, welche Variable bei dir genau die NullPointerExeption wirft...
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerExceptionDenn solche Exceptions sind eigentlich meistens handgemacht (sehe zumindest so in diesen Abschnitten so nichts, wo es aus dem gewollten Programmkontext kommen sollte)
***************

Ne NullPointerException wir bei mir geworfen, weil meine getConnection()-Methode null zurückliefert. Das passiert weil ne SQLException geworfen wird. Die Frage ist nun woran das liegen könnte. Hat da niemand ne Idee zu?
 

Firestorm87

Bekanntes Mitglied
Den Beitrag habe Ich löschen lassen, da Ich nach dem schreiben erst gesehen habe, was für ein Schwachsinn Ich da zusammen getippt habe :D
Es war eindeutig noch zu früh am Morgen :)

Vll schau Ich mir das Heut Abend nach Feierabend noch mal an....
 
G

Gast2

Gast
Ich konnte das Problem eingrenzen. Sobald ich mehr als 8 offene Verbindungen erstellen wollte, gabs o.g. Exception.
Ich habe jetzz maxActive auf 20 gesetzt. Das Problem scheint behoben.
Wie schaut das mit den anderen Werten aus, minActive, minIdle, maxIdle, initialSize. Wie sollte man diese Konfigurieren?
Gibt es noch andere Einstellungen die an der DataSource gemacht werden sollten?
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
I Datenbankverbindung Oracle DB klappt nicht - getConnection returned null Datenbankprogrammierung 8
C Drivermananger.GetConnection Datenbankprogrammierung 1
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
D getConnection mit SQLException Datenbankprogrammierung 7
C java.sql.DriverManager.getConnection(Unknown Source) Datenbankprogrammierung 6
G DriverManager.getConnection Datenbankprogrammierung 3
A NullPointerException trotz getConnection Datenbankprogrammierung 6
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
C MySQL JPA - namedQuery (SELECT) -getResultList() - liefert falsches Ergebnis Datenbankprogrammierung 1
P executeQuery liefert null zurück Datenbankprogrammierung 5
J Speicherung von java.sql.Date liefert inkorrekte Ergebnisse Datenbankprogrammierung 4
K statement.execute liefert false Datenbankprogrammierung 6
B Derby Databankabfrage liefert Ergebnisse nicht korrekt Datenbankprogrammierung 2
M Hibernate liefert mir bei many-to-one leeres Feld Datenbankprogrammierung 5
M Hibernate - Querry mit Eingrenzung und Order; liefert nichts zurück Datenbankprogrammierung 4
G SELECT liefert leere Zeilen Datenbankprogrammierung 32
N Oracle DB liefert nicht alle Datensätze Datenbankprogrammierung 3
A SELECT-Anweisung liefert keine Datensätze zurück Datenbankprogrammierung 9
Y Hibernate - 1:1 Beziehung liefert leeres Objekt Datenbankprogrammierung 19
R ResultSet liefert oracle.sql.TIMESTAMP, aber unbrauchbar Datenbankprogrammierung 9
L "desc tablename" liefert SQL Exception mit execute Datenbankprogrammierung 6
Maxim6394 EclipseLink + SQLite | Unable to acquire a connection from driver [null] Datenbankprogrammierung 6
ma095 value NULL- Datenbank Postgresql Spring - intellij community Datenbankprogrammierung 0
P Herausfinden wann Query null zurück gibt? Datenbankprogrammierung 1
N DBUnit und null Datenbankprogrammierung 6
P Null Werte bei der Normalisierung Datenbankprogrammierung 2
Z ResultSet ist null warum? Datenbankprogrammierung 12
krgewb getDouble auch mit null möglich? Datenbankprogrammierung 2
D SQL Server Android App: 'int java.lang.String.length()' on a null object reference Datenbankprogrammierung 15
zhermann Data truncation: Incorrect date value: 'null' for column Datenbankprogrammierung 31
M Derby/JavaDB einen Null-Wert in die Datenbank schreiben Datenbankprogrammierung 7
D Oracle NullPointerException bei select mit Null Values Datenbankprogrammierung 5
T IllegalArgumentException: Person[ id=null ] is not a known entity type.??? Datenbankprogrammierung 0
R JPA dynamisch auf NULL abfragen Datenbankprogrammierung 2
OnDemand LEFT JOIN id hat Null Datenbankprogrammierung 6
P Datenbank- Abfrage mit null'en Datenbankprogrammierung 2
C PreparedStatement und null Datenbankprogrammierung 13
M HSQLDB EntityManager null? Datenbankprogrammierung 7
O MySQL PreparedStatements: int null Datenbankprogrammierung 7
S Null Pointer exception statement Datenbankprogrammierung 8
M JPA NOT NULL Datenbankprogrammierung 11
E H2 - Datenbankabfrage gibt NULL aus? Datenbankprogrammierung 4
Q java.lang.NullPointerException connection = null Datenbankprogrammierung 13
C Metadata der SessionFactory immer null Datenbankprogrammierung 2
N Connection bleibt null Datenbankprogrammierung 7
F Derby/JavaDB Exception - Cannot accept Null Value (help) Datenbankprogrammierung 10
G MySQL Timestamp null Datenbankprogrammierung 2
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
A MSSQL - Spalten mit der Option: NULL zulassen Datenbankprogrammierung 2
G Hibernate oneToMany Not null Datenbankprogrammierung 4
S Update mit null Datenbankprogrammierung 11
H Date null = 30.11.0002? Datenbankprogrammierung 6
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
R Warum ist meine Connection null? Datenbankprogrammierung 6
P Wie übergebe ich einen NULL Wert in meinem Java-Programm? Datenbankprogrammierung 7
W RsultSet auf null abfragen funktioniert nicht Datenbankprogrammierung 4
D hibernate + null + primitive Datentypen Datenbankprogrammierung 2
F MySQL gibt nur null zurück Datenbankprogrammierung 3
G NULL-data processing. Datenbankprogrammierung 11

Ähnliche Java Themen

Neue Themen


Oben