Class JDBCConnectionPool

java.lang.Object
org.biojava.utils.JDBCConnectionPool

public class JDBCConnectionPool extends Object
Really simple connection pool for JDBC databases.

Use:

 JDBCConnectionPool pool = new JDBCConnectionPool(jdbcURL, userName, passwd);
 ...
 Connection conn = pool.takeConnection();
 // do stuff with conn
 pool.putConnection(conn);
 // don't use conn from here on

 Statement stmt = pool.takeStatement();
 // do stuff with stmt
 pool.putStatement(stmt);
 // don't do anything else with stmt
 

It is not a good idea to call close() on a connection you get from a pool. This would prevent it from being re-used. Also, we have seen some odd behavior with connections involved in transactions being re-used. We have not yet identified exactly how you can safely use a pooled connection for transaction-safe code.

Note: We should probably be moving to a propper connection pool API. Let's standardise on one soon.

Author:
Thomas Down, Matthew Pocock