PDA

View Full Version : Verwendung von AS400JDBCConnectionPool



Haunted
20-06-11, 20:57
Hallo zusammen,

ich habe ein Problem bei der Verwendung des AS400JDBCConnectionPool.

Und zwar funktioniert dieser Pool bei mir anscheinend nur bei der aller ersten Verwendung, hier bekomme ich bei der Abfrage der benutzten Verbindungen und der aktuell verfügbaren Verbindungen 9/10 zurück geliefert.

Wenn ich diesen ConnectionPool ein zweites mal Verwende, wird mir bei genau der gleichen Anzeige von verfügbaren und benutzen Verbindungen allerdings 10/10 angezeigt.

Ich verwende den Pool in einem ServletContainer (Jetty) und speichere ihn in einem Singelton.

Meine Vermutung ist es das der ConnectionPool mir beim zweiten Aufruf keine Connection aus dem Pool zurück gibt sondern eine neu erzeugte.

Hier der QT:



class DBSingelton{


private volatile static DBSingelton instance = null;

private AS400JDBCConnectionPool pool;

public static DBSingelton getInstance(){
if(instance == null){
syncronised(DBSingelton.class)
{
if(instance == null){
instance = new DBSingelton();
}
}
}
return instance;
}

private DBSingelton(){

AS400JDBCConnectionPoolDataSource dataSource = new AS400JDBCConnectionPoolDataSource("localhost");
pool = new AS400JDBCConnectionPool(datasource);

pool.fill(10);







}
public Connection getConnection()
{
return pool.getConnection();
}



public void closeConnection(Connection con)
{
System.out.println(pool.getAvailableConnectionCoun t() + "/"+pool.getActiveConnectionCount());
con.close();
}
}
Hatte schon mal jemand das gleiche Problem, bzw. hat jemand eine Idee warum es zu diesem Verhalten kommt ?

Danke für eure Hilfe.

MfG

Haunted