# Pool Exhausted Fehlermeldung



## Guest (15. Sep 2005)

Zur Zeit teste ich eine Webanwendung auf alle möglichen Fehler. Dabei tritt immer mal wieder ein "Pool Exhausted" Fehler auf. Nur leider kann ich den Fehler nicht von Hand reproduzieren. Er tritt an komplett unterschiedlichen stellen auf.

Was sagt dieser Fehler denn genau und wo könnte das Problem liegen?


----------



## Bleiglanz (15. Sep 2005)

Welcher Pool?

Datenbankverbindungen nicht geschlossen??


----------



## Guest (15. Sep 2005)

Ich glaube der Pool mit den Datenbankverbindungen. Die Verbindungen werden meines Wissens alle geschlossen. Muss das Erstellen der Datenbankverbindung irgendwie synchronisieren für den Fall das zwei Benutzer gleichzeitig eine solche Funktion aufrufen?


----------



## Bleiglanz (15. Sep 2005)

nein, aber bestimmt fehlt irgendwo in close();


----------



## Guest (16. Sep 2005)

Ich glaube, ich habe ein Close nie verwendet und wenn zu viele Verbindungen geöffnet wurden, schmiert das Teil ab.

Ich benutze folgende Funktion für die Datenbank:


```
private Connection createConnection() throws SQLException
   {
      try {
         Class.forName(config.getProperty("db.db"));
      }catch(ClassNotFoundException ex) 
      { throw new SQLException("Could not load DB Driver!"); }
      Connection connection =  
      DriverManager.getConnection(config.getProperty("db.driver"),
      config.getProperty("db.user"), config.getProperty("db.password"));
      return connection;
   }
```

Aufregurfen wird das Ganze dann durch:


```
sql = "SELECT * FROM navigation"
      							 + " WHERE id = '" + navigation_id + "'";
      		ResultSet r = createConnection().createStatement().executeQuery(sql);
```

Wie würde das Close denn dabei aussehen?


----------



## Bleiglanz (16. Sep 2005)

```
ResultSet r = createConnection().createStatement().executeQuery(sql);
```



> Wie würde das Close denn dabei aussehen?



geht gar nicht, weil du die Connection nicht benannt hast?! sehr seltsamer Stil


```
r.getStatement().getConnection().close();
```

so gehts aber nicht, denn wenn getStatement eine Exception wirft, funktioniert das nicht...


----------



## Guest (16. Sep 2005)

Ich hatte mir das auch nur zusammengesucht. Und wenn es funktioniert, ist man natürlich heilfroh  

Wei kann ich denn die Connection bennenen?


----------



## Guest (16. Sep 2005)

Hab mein Problem gerade schon selbst lösen können. Trotzdem danke für deine Hilfe.


----------

