## org.biojava.utils
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

Constructor Summary
`JDBCConnectionPool(String url)`
`JDBCConnectionPool(String url, String user, String pass)`

Method Summary
`void` `putConnection(Connection c)`
`void` `putStatement(Statement st)`
`Connection` `takeConnection()`
`Statement` `takeStatement()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JDBCConnectionPool

    public JDBCConnectionPool(String url,
                              String user,
                              String pass)

### JDBCConnectionPool

    public JDBCConnectionPool(String url)

Method Detail

### takeConnection

    public Connection takeConnection()
                              throws SQLException

  Throws:
    `SQLException`

### putConnection

    public void putConnection(Connection c)
                       throws SQLException

  Throws:
    `SQLException`

### takeStatement

    public Statement takeStatement()
                            throws SQLException

  Throws:
    `SQLException`

### putStatement

    public void putStatement(Statement st)
                      throws SQLException

  Throws:
    `SQLException`